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...

 

MySQL有個叫SQL_SAFE_UPDATES的變數,為了資料庫更新操作的安全性,此值預設為ON

mysql> show variables like '%safe_updates%';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| sql_safe_updates | ON |
+------------------+-------+

1 row in set (0.00 sec)

在Safe Update Mode開啟的狀態下,在沒有 WHERE 或 LIMIT 條件的 UPDATE 或 DELETE 動作會拒絕執行,而即使是有 WHERE 和 LIMIT 條件,但沒有 KEY column 的 WHERE 條件也會拒絕執行。

 

要關閉Safe Update Mode 可執行 "SET SQL_SAFE_UPDATES=0" 指令:

mysql> SET SQL_SAFE_UPDATES=0;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like '%safe_updates%';
+------------------+-------+
| Variable_name | Value |+
------------------+-------+
| sql_safe_updates | OFF |
+------------------+-------+

1 row in set (0.00 sec)

 

Safe Update Mode 關閉後,就可以執行 DELETE 或 UPDATE 動作了

要再開啟Safe Update Mode,就執行 "SET SQL_SAFE_UPDATES=1" 即可開啟

 

arrow
arrow
    創作者介紹
    創作者 chingsoo 的頭像
    chingsoo

    CM的部落格

    chingsoo 發表在 痞客邦 留言(0) 人氣()