Mysql 为什么我的查询中存在SQL\u安全更新错误?
我使用的是MySQL 5.6。在某个窗口上的应用程序中,我有以下内容:Mysql 为什么我的查询中存在SQL\u安全更新错误?,mysql,sql,Mysql,Sql,我使用的是MySQL 5.6。在某个窗口上的应用程序中,我有以下内容: qry2 = 'UPDATE `listprojects` SET `autoassign` = %i WHERE `number` = "%s" ' %( autoassign, autoassign2) system.db.runUpdateQuery(qry2) 其中数字在表中是唯一的,但没有索引。尽管UPDATE语句只更新一行,但这会引发错误 如何使此查询不被SQL\u安全更新捕获?是否必须将数字
qry2 = 'UPDATE `listprojects` SET `autoassign` = %i WHERE `number` = "%s" ' %( autoassign, autoassign2)
system.db.runUpdateQuery(qry2)
其中数字在表中是唯一的,但没有索引。尽管UPDATE语句只更新一行,但这会引发错误
如何使此查询不被SQL\u安全更新捕获?是否必须将数字列设为索引或其他内容?解释了为什么即使有WHERE子句也会出现此错误:
使用-safe更新,您只能通过指定标识行的键值或LIMIT子句或两者来修改行
如果数字列上没有索引,则没有指定键值
在列上添加索引,错误就会消失。好的,谢谢,我不确定索引是否与键值相同。很高兴知道。是的,MySQL交替使用索引和键这两个术语。