删除mysql中表的所有记录

Sam*_*ami 58 mysql

我试图从表中删除所有记录.我的查询是:

delete from tableName.
Run Code Online (Sandbox Code Playgroud)

但它报告以下错误:

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

我该如何解决这个问题?

Thi*_*ler 78

truncate tableName

这就是你要找的东西.

截断将删除表中的所有记录,清空它.

  • 如果启用FK并启用级联,这将不起作用 (2认同)

San*_*hak 61

这是因为您尝试更新没有使用KEY列的WHERE的表.

快速修复是添加SET SQL_SAFE_UPDATES = 0; 在你的查询之前:

SET SQL_SAFE_UPDATES=0; 
Run Code Online (Sandbox Code Playgroud)

要么

关闭安全更新模式.编辑 - >首选项 - > SQL编辑器 - > SQL编辑器删除禁止不UPDATE和DELETE语句没有WHERE子句(安全更新).

BTW你可以 TRUNCATE TABLE tablename;用来删除所有记录.