首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在主键包含两列时删除,并使用安全模式

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

Stack Overflow用户
提问于 2017-01-30 22:17:37
回答 2查看 192关注 0票数 2

我的表是这样创建的:

代码语言:javascript
复制
CREATE TABLE test(
num1 INT,
num2 INT,
PRIMARY KEY(num1, num2)
);

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

使用

代码语言:javascript
复制
DELETE FROM test WHERE num1=1 AND num2=2;

只会导致以下错误消息:

代码语言:javascript
复制
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.

另外,在您问之前,我确实知道如何关闭安全更新模式,但这并没有回答我的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-30 23:21:54

我看到过其他一些Stack溢出帖子,人们抱怨MySQL工作台不恰当地阻止他们执行安全更新。

但我只是在您的表中试用了它,包括PK列和非键列。当启用安全模式时,它会阻止我通过非键列进行更新,这是它应该做的。但我不明白你描述的错误。

我使用的是MySQL工作台6.3.8和MySQL服务器8.0.0-dmr。

也许这是旧版本的MySQL或旧版本的MySQL工作台中的一个bug。

票数 2
EN

Stack Overflow用户

发布于 2017-01-30 23:20:48

更新了mysql,错误就消失了。真是浪费我的时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41946384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档