2015-12-01 2 views
0

Следующий код был запущен без ошибок, но база данных не влияет. Это означает, что запись не может быть удалена. Часть кода в PythonНе удаляйте запись при запуске команды delete в sql (в Python и Mysql)

import MySQLdb as msdb 
def delete_row(self): 
    con = msdb.connect('localhost','root','24434','matab_db') 
    cur = con.cursor() 
    qq = "DELETE FROM tbl_rezerv_nobat WHERE id=4" 
    # or qq = "DELETE FROM tbl_rezerv_nobat WHERE id='4'" 
    bb = cur.execute(qq) 
    con.close() 

Благодаря

+0

Вы пробовали 'commit'? Если вы используете базу данных, основанной на транзакциях, тогда вам нужно будет зафиксировать свои запросы, чтобы заставить их фактически произойти. Извините, я не использовал msdb. – SteJ

ответ

0

Вы должны также добавить con.commit()con.close() перед тем

т.е.

def delete_row(self): 
    con = msdb.connect('localhost','root','24434','matab_db') 
    cur = con.cursor() 
    qq = "DELETE FROM tbl_rezerv_nobat WHERE id=4;" 
    # or qq = "DELETE FROM tbl_rezerv_nobat WHERE id='4'" 
    bb = cur.execute(qq) 
    con.commit() 
    con.close() 
+0

да это сработало.thanks – masood