当主键包含两列并使用安全模式时如何删除

时间:2017-01-30 22:17:38

标签: mysql

我的表格是这样创建的:

CREATE TABLE test(
num1 INT,
num2 INT,
PRIMARY KEY(num1, num2)
);

我的删除查询应该是什么样的?

使用

DELETE FROM test WHERE num1=1 AND num2=2;

仅导致此错误消息:

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 Editor and reconnect.

另外,在你提问之前,我确实知道如何关闭安全更新模式,但这不能回答我的问题。

2 个答案:

答案 0 :(得分:2)

我见过其他一些Stack Overflow帖子,人们抱怨MySQL Workbench阻止他们不恰当地执行安全更新。

但我只是用你的表尝试了它,包括PK列和非键列。启用安全模式后,它会阻止我通过非键列进行更新。但是我没有得到你描述的错误。

enter image description here

我正在使用MySQL Workbench 6.3.8和MySQL Server 8.0.0-dmr。

也许这是旧版MySQL或旧版MySQL Workbench中的错误。

答案 1 :(得分:0)

更新了mysql,错误消失了。 多么浪费我的时间。