为什么在 SQL 中删除 PYTHON 中的查询不提交数据库中的更改?
why delete in SQL query in PYTHON doesn't commit changes in database?
DELETE FROM ...
不起作用。正确的参数传递给函数。不会返回任何错误。
我试过修改路由,POST和GET传参,哭得像胎一样
conn = mysql.connect()
cursor = mysql.connect().cursor()
cursor.execute("SELECT * FROM food_on_the_table WHERE table_id = %s", table_id)
food_on_the_table = cursor.fetchall()
records = cursor.fetchall()
cursor.execute("DELETE FROM food_on_the_table WHERE row_id = %s", row_id)
conn.commit()
result = cursor.rowcount
message = "rows affected " + str(result)
cursor.close()
没有从数据库中删除任何行。 row_i
是对的,rows affected = 1
符合预期。
试试这个,
try:
conn = mysql.connect()
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM food_on_the_table WHERE table_id = %s", table_id)
food_on_the_table = cursor.fetchall()
records = food_on_the_table
with conn.cursor() as cursor:
cursor.execute("DELETE FROM food_on_the_table WHERE row_id = %s", row_id)
conn.commit()
finally:
conn.close()
DELETE FROM ...
不起作用。正确的参数传递给函数。不会返回任何错误。
我试过修改路由,POST和GET传参,哭得像胎一样
conn = mysql.connect()
cursor = mysql.connect().cursor()
cursor.execute("SELECT * FROM food_on_the_table WHERE table_id = %s", table_id)
food_on_the_table = cursor.fetchall()
records = cursor.fetchall()
cursor.execute("DELETE FROM food_on_the_table WHERE row_id = %s", row_id)
conn.commit()
result = cursor.rowcount
message = "rows affected " + str(result)
cursor.close()
没有从数据库中删除任何行。 row_i
是对的,rows affected = 1
符合预期。
试试这个,
try:
conn = mysql.connect()
with conn.cursor() as cursor:
cursor.execute("SELECT * FROM food_on_the_table WHERE table_id = %s", table_id)
food_on_the_table = cursor.fetchall()
records = food_on_the_table
with conn.cursor() as cursor:
cursor.execute("DELETE FROM food_on_the_table WHERE row_id = %s", row_id)
conn.commit()
finally:
conn.close()