月度归档:2015 年七月

MySQL删除/更新数据时报1175错误

今天删除数据的时候,报了如下错误:

Error Code:1175.You are using safe update mode and you tried to update a table without a WHERE that uses a key column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.

后来查了资料,发现mysql有SQL_SAFE_UPDATES的变量,这是为了数据库操作的安全。此值默认设置为1,所以才会出现更新失败的情况。

下面是SQL_SAFE_UPDATES变量为0和1时的取值说明:

SQL_SAFE_UPDATES有两个取值0和1,

SQL_SAFE_UPDATES = 1时,不带where和limit条件的update和delete操作语句是无法执行的,即使是有where和limit条件但不带key column的update和delete也不能执行。

SQL_SAFE_UPDATES = 0时,update和delete操作将会顺利执行。

所以,出现1175错误的时候,可以先设置SQL_SAFE_UPDATES的值为0或者使用主键作为where条件删除或者更新。