为什么在PYTHON中的SQL查询中删除不提交数据库中的更改?

时间:2019-07-04 09:29:11

标签: python mysql python-3.x flask delete-row

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是预期的。

1 个答案:

答案 0 :(得分:0)

尝试一下

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()
相关问题