MySQL 1175错误如何修复?

卡拉先生
发布于 2020年09月06日 | 上次编辑:2020年09月07日

header

使用 MySQL 和 Workbench 时,常常会碰到 1175 错误。本文总结 1175 错误出现的常见原因,以及讨论详细教程教你如何修复。

MySQL 1175 错误出现常见原因

如果你试图使用 Workbench 更新 MySQL 数据库中的一行,而没有在 WHERE 子句中指定 Key 列,你会得到以下错误。

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.

简单翻译一下,它说的就是指"你用了安全更新模式,而没有指定 Key 列。如果你需要关闭安全更新模式,到偏好里的 SQL 编辑器里编辑,并重连即可"

错误代码1175是告诉你,你正处于安全模式,这个模式在 MySQL Workbench 中是默认启用的。它可以帮助你防止一些无意的数据库更新。这是客户端的设置(和mysql客户端中的--safety-updates一样),所以你没有什么办法在服务器端禁用它。

注:服务器端的设置与客户端的设置,比如MySQL用户权限之类应该分开来对待

如何修复 MySQL 1175 错误

有一些方法可以绕开这个错误,但我不建议你永久禁用安全更新选项。最好是临时禁用它,执行你的更新语句,然后再重新启用这个安全设置设置。

如何修复错误代码1175

简单的解决方法是用 SQL 语句禁用这个设置,然后执行UPDATE语句,然后再启用。命令如下

-- 禁用安全更新模式
SET SQL_SAFE_UPDATES=0;
-- 执行更新语句
UPDATE table SET column='value';
-- 启用安全更新模式
SET SQL_SAFE_UPDATES=1

参考 https://stackoverflow.com/questions/11448068/mysql-error-code-1175-during-update-in-mysql-workbench 一文

永久关闭安全更新选项

workbench截图
workbench截图

如果你坚持需要永久关闭安全更新选项,可以按以下步骤操作。请注意,这里的截屏是英文的,但对应的中文界面也很好找 (编辑 - 首选项,再按图上标出来的红框,找到关闭安全选项即可)

第一步:

workbench 选项第一步
workbench 选项第一步

第二步

workbench 选项第二步
workbench 选项第二步

总结

本文总结了 MySQL 1175 错误出现的原因,以及可能的解决办法,希望可以帮到你。如果你需要在 MySQL 的基础上实现全文索引或搜索功能,欢迎尝试卡拉搜索 API,几行代码就可以接入,省去开发和运维烦恼。

扩展阅读:

MySQL 主键对比:UUID 还是 INT

MySQL 中如何创建新用户并授权

MySQL 中如何查看所有用户

参考链接:

https://stackoverflow.com/questions/11448068/mysql-error-code-1175-during-update-in-mysql-workbench

https://ivanderevianko.com/2019/11/fix-error-code-1175-you-are-using-safe-update-mode

相关文章

友情链接更新日志© 2020, 卡拉搜索, Built with ❤️ in San Francisco + Beijing

京ICP备15049164号-3