使用"中的主键以外的任何条件,其中"关于MySQL的条款

时间:2018-02-23 05:08:50

标签: mysql database

我在MySQL上练习,我对"在哪里"条款,为什么在MySQL中出现的条件是"其中"应该在主键? 如果我把除主键以外的任何条件都是错误的!!

例如,我有一个名为"学生"有4列,第一列是" stuid"它是主键 并且有#34; stuname" ,"教室" ," stuage"这些是其余的列 为什么我不能说例如

update students set stuname = 'sarah' where classroom = 46;

这是错误:

"错误代码:1175。您正在使用安全更新模式,并且您尝试更新没有使用KEY列的WHERE的表要禁用安全模式,请切换首选项中的选项 - > SQL编辑器并重新连接。"

我试着去做那些消息说但我不理解关于"重新连接"

的部分

因此:我在Mac上使用MySQL

1 个答案:

答案 0 :(得分:1)

我们可以使用任何密钥和更新。问题可能在于您正在使用的IDE。请指定您正在使用的 IDE和MySQL 版本。 要么 google关于在IDE / MySQL中隐藏安全模式。

什么是安全模式?

它用于防止不必要/意外更新表中的一堆行。( where子句使用非唯一键

转为安全模式试试

SET SQL_SAFE_UPDATES = 0;

使用后打开安全模式更安全。

SET SQL_SAFE_UPDATES = 1;