需要正确的sql命令来删除CHAR_LENGTH()以上的地方

Diz*_*zzi 1 sql truncate sql-delete

我需要正确的SQL命令来删除CHAR_LENGTH()超过x尝试的数量

TRUNCATE * FROM foo WHERE CHAR_LENGTH(foobar) > 100
Run Code Online (Sandbox Code Playgroud)

(也试过DELETE*)

根据w3cshools是一个有效的运算符,但它只是作为错误返回:

>#1064 - 您的SQL语法出错; 查看与您的MySQL服务器版本对应的手册,以便在第1行' FROM foo WHERE CHAR_LENGTH(foobar)> 100' 附近使用正确的语法*

注意:错误消息实际显示> as ASCII">" (没有空格或引号)不确定是否有任何相关性......

我也尝试过:

SELECT * FROM foo WHERE CHAR_LENGTH(foobar) > 100
Run Code Online (Sandbox Code Playgroud)

只是为了看看它是否可以做任何事情并且它做了预期的事情,并且显示了一个超过100的charcount.

一如往常任何帮助表示赞赏.

Emi*_*röm 6

我认为你正在寻找DELETE操作,而不是TRUNCATE.

DELETE FROM foo WHERE CHAR_LENGTH(foobar) > 100;
Run Code Online (Sandbox Code Playgroud)

TRUNCATE有这样的语法:

TRUNCATE foo;
Run Code Online (Sandbox Code Playgroud)

并完全清空桌子.TRUNCATE上不能有WHERE子句.

  • 请注意,DELETE不会采用列列表,因此您需要删除`*`(我在原始帖子中错过了它,但已编辑它以适应现在). (2认同)