我在MySQL上练习,我对"在哪里"条款,为什么在MySQL中出现的条件是"其中"应该在主键? 如果我把除主键以外的任何条件都是错误的!!
例如,我有一个名为"学生"有4列,第一列是" stuid"它是主键 并且有#34; stuname" ,"教室" ," stuage"这些是其余的列 为什么我不能说例如 update students
set stuname = 'sarah'
where classroom = 46;
这是错误:
"错误代码:1175。您正在使用安全更新模式,并且您尝试更新没有使用KEY列的WHERE的表要禁用安全模式,请切换首选项中的选项 - > SQL编辑器并重新连接。"
我试着去做那些消息说但我不理解关于"重新连接"
的部分因此:我在Mac上使用MySQL
答案 0 :(得分:1)
我们可以使用任何密钥和更新。问题可能在于您正在使用的IDE。请指定您正在使用的 IDE和MySQL 版本。 要么 google关于在IDE / MySQL中隐藏安全模式。
什么是安全模式?
它用于防止不必要/意外更新表中的一堆行。( where子句使用非唯一键)
转为安全模式试试
SET SQL_SAFE_UPDATES = 0;
使用后打开安全模式更安全。
SET SQL_SAFE_UPDATES = 1;