2024-04-18 08:01:22 发布
网友
我有一个更新查询来对数据库进行一些更改,但不幸的是,它成功地执行了,并且在数据库中没有看到任何更改。SQL update查询的单行语句中可能有什么错误?你知道吗
update_query = '''UPDATE air_programmes SET total_count = total_count + 1 WHERE id='%s' ''' % resource_id
资源id是上面定义的变量!你知道吗
提前谢谢
你提到了phpMyAdmin,所以我假设你使用的MySQL带有一个与db-api兼容的连接器(python-MySQL或MySQL-connector-python等)。你知道吗
第一点:您需要明确地提交更改,即:
connection = YourConnector.connect(**connection_info) cursor = connection.cursor() update_query = """ UPDATE air_programmes SET total_count = total_count + 1 WHERE id='%s' """ % resource_id cursor.execute(update_query) connection.commit()
当然,如果您有一整批更新,您可能只想为整批提交一次。你知道吗
第二点:使用Python字符串格式传递查询参数是脆弱和very unsafe。确实要使用db api来正确清理查询的参数:
connection = YourConnector.connect(**connection_info) cursor = connection.cursor() update_query = """ UPDATE air_programmes SET total_count = total_count + 1 WHERE id='%s' """ cursor.execute(update_query, [resource_id])) connection.commit()
你提到了phpMyAdmin,所以我假设你使用的MySQL带有一个与db-api兼容的连接器(python-MySQL或MySQL-connector-python等)。你知道吗
第一点:您需要明确地提交更改,即:
当然,如果您有一整批更新,您可能只想为整批提交一次。你知道吗
第二点:使用Python字符串格式传递查询参数是脆弱和very unsafe。确实要使用db api来正确清理查询的参数:
相关问题 更多 >
编程相关推荐