2016-09-11 6 views
0

Я пытаюсь выполнить запрос insert в SQL. Он указывает, что он преуспевает, но не показывает записи в базе данных. Вот мой кодpython SQL query insert показывает пустые строки

conn = MySQLdb.connect("localhost",self.user,"",self.db) 
cursor = conn.cursor() 
id_val = 123456; 
path_val = "/homes/error.path" 
host_val = "123.23.45.64" 
time_val = 7 
cursor.execute("INSERT INTO success (id,path,hostname,time_elapsed) VALUES (%s,%s,%s,%s)", (id_val, path_val,host_val,time_val)) 

print "query executed" 
rows = cursor.fetchall() 
print rows 

это выводит следующее

query executed 
() 

это не дает мне никаких ошибок, но база данных кажется пустым. Я попробовал свой SQL-запрос в консоли mysql. выполнил следующую команду.

INSERT INTO success (id,path,hostname,time_elapsed) 
VALUES (1,'sometext','hosttext',4); 

Это прекрасно работает, поскольку я вижу, что база данных заселена.

mysql> SELECT * FROM success LIMIT 5; 
+----+----------+----------+--------------+ 
| id | path  | hostname | time_elapsed | 
+----+----------+----------+--------------+ 
| 1 | sometext | hosttext |   4 | 
+----+----------+----------+--------------+ 

, так что я предполагаю, что команда SQL-запроса правильная. Не знаю, почему мой cursor.execute не отвечает. Может кто-нибудь, пожалуйста, указать мне в правильном направлении. Кажется, не может найти ошибку. благодаря

ответ

1

После отправляют вставки записи, вы должны зафиксировать изменения в базе данных:

cursor.execute("INSERT INTO success (id,path,hostname,time_elapsed) VALUES (%s,%s,%s,%s)", (id_val, path_val,host_val,time_val)) 
conn.commit() 

Если вы хотите, чтобы прочитать данные, вы должны сначала отправить запрос, как вы делали через переводчик.

Поэтому, прежде чем извлечь данные, выполнить ВЫБЕРИТЕ команду:

cursor.execute("SELECT * FROM success") 
rows = cursor.fetchall() 
print rows 

Если вы хотите сделать это вещим:

cursor.execute("SELECT * FROM success") 
for row in cursor: 
    print(row) 
+0

большого и его working..thanks много. – Shadid

 Смежные вопросы

  • Нет связанных вопросов^_^