【问题标题】:What's wrong with this SQL query syntax?这个 SQL 查询语法有什么问题?
【发布时间】:2020-09-23 17:30:10
【问题描述】:
DELETE 
  FROM 014_terms 
 WHERE term_id IN (SELECT term_id 
                     FROM 014_term_taxonomy 
                    WHERE taxonomy LIKE 'pa_%');

我收到一个错误

#1064 - 您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行的“WHERE term_id IN (SELECT term_id FROM 014_term_taxonomy WHERE taxonomy LIKE '...' 附近使用的正确语法”

注意:我使用的是纯文本编辑器,空格只是纯空格。

我正在使用 phpMyAdmin,我尝试了不同的查询变体,将表名用单引号括起来,如下所示:

SQL query:

DELETE FROM '014_terms' WHERE term_id IN (SELECT term_id FROM '014_term_taxonomy' WHERE taxonomy LIKE 'pa_%')

MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''014_terms' WHERE term_id IN (SELECT term_id FROM '014_term_taxonomy' WHERE t...' at line 1

还有这个

SQL query:

DELETE FROM '014_terms' WHERE term_id IN (SELECT term_id FROM 014_term_taxonomy WHERE taxonomy LIKE 'pa_%')

MySQL said:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''014_terms' WHERE term_id IN (SELECT term_id FROM 014_term_taxonomy WHERE tax...' at line 1

【问题讨论】:

标签: sql mariadb sql-delete


【解决方案1】:

最后的解决方案是使用反引号来包装以数字前缀开头的表名,就像这样。感谢@PaulT。

DELETE FROM `014_terms` WHERE term_id IN (SELECT term_id FROM `014_term_taxonomy` WHERE taxonomy LIKE 'pa_%');

感谢所有提供反馈的人!

:-)

【讨论】:

    【解决方案2】:

    您的问题似乎是从数字/数字开始的表名。

    尝试更新您的sql_mode

    SET @@session.sql_mode=ANSI_QUOTES;
    

    完成上述更改后,尝试执行您的查询。

    DELETE
    FROM 014_terms
    WHERE term_id IN
        (SELECT term_id
         FROM 014_term_taxonomy
         WHERE taxonomy LIKE 'pa_%');
    

    【讨论】:

    • 这似乎不是问题
    • 我正在使用 phpMyAdmin,但没有看到任何设置 sql_mode/的选项
    • @user11777 检查这个以了解如何更新 phpmyadmin 中的 sql_mode stackoverflow.com/questions/2317650/…
    猜你喜欢
    • 1970-01-01
    • 2011-01-15
    • 2010-10-21
    • 1970-01-01
    • 2012-07-07
    • 2012-05-02
    • 1970-01-01
    相关资源
    最近更新 更多