我正在教一门数据库课,我让我的学生通过 phpMyAdmin 连接到 MySQL 数据库来练习查询等......
我们现在已经到了学习 SQL UPDATE
语句的地步,我想确保有人不会在没有 WHERE
子句的情况下发出 UPDATE因此更新整个表...
我假设 sql_safe_updates
默认设置为 1,但在我用于类(class)的基于云的服务器上似乎并非如此。我似乎找不到任何地方记录如何为 MySQL 实例中的所有用户设置 sql_safe_updates
。
因此,我正在寻找这些选项中的任何一个是否可用并且是否适用于这种情况:
- 我可以通过配置文件或其他方法将
sql_safe_updates
设置为“1”来启动 MySQL 吗? - 当用户通过 phpMyAdmin 连接到数据库时,我可以在 phpMyAdmin 中创建一个运行
SET sql_safe_updates=1
的启动脚本吗?
任何帮助将不胜感激,我真的不认为这会带来如此大的挑战!
最佳答案
您可以在设置中关闭或使用
SET SQL_SAFE_UPDATES=0;
your statement;
SET SQL_SAFE_UPDATES=1;
或者反过来。
SET SQL_SAFE_UPDATES=1;
your statement;
SET SQL_SAFE_UPDATES=0;
只是不要忘记在每个语句的末尾使用分号。
如果使用 MYSQL workbench 使用 编辑 -> 首选项 -> SQL 编辑器 -> SQL 编辑器 删除没有 WHERE 子句的禁止 UPDATE 和 DELETE 语句(安全更新)
希望对你有帮助
关于MySQL - 为每个人启用安全更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26719069/