该错误是因为你正在使用安全更新模式,但你尝试更新一个没有使用关键列的WHERE子句的表。为了避免误操作,MySQL禁止在没有使用WHERE子句的情况下更新表中所有行。以下是两种解决方法:

  1. 使用WHERE子句并指定一个关键列,以便MySQL可以安全地更新表中的行。例如:
DELETE FROM teacher WHERE tname = '桃' AND id = 1;

上面的代码中,我们使用了id列作为关键列,这将允许我们安全地删除tname为'桃'的行。

  1. 禁用安全更新模式。这是不推荐的做法,因为它可以让你意外地删除表中的所有行。如果你决定禁用安全更新模式,可以按照以下步骤操作:

a. 在MySQL Workbench中转到“编辑”菜单并选择“首选项”。

b. 在左侧的菜单中选择“SQL编辑器”。

c. 在右侧的窗口中找到“安全性”部分,并取消选中“启用安全更新模式”选项。

d. 确认更改并重新连接到MySQL服务器。

现在,你应该可以使用DELETE语句删除任何行,而不需要指定一个WHERE子句或关键列。

注意:禁用安全更新模式可能会导致数据丢失或其他问题,因此请谨慎使用。

参考文献:

  • https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_safe-updates
  • https://stackoverflow.com/questions/11448068/mysql-error-1175-safe-update-mod
delete from teacher where tname = 桃	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 Pre

原文地址: https://www.cveoy.top/t/topic/fjz0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录