【发布时间】: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
【问题讨论】:
-
表名可以以数字开头吗?
-
where之前可能有一个坏字符。 -
无论如何尝试引用表名不会有什么坏处,例如`014_terms`。
-
不是单引号,使用反引号
`字符。对我来说,它位于键盘上 1 左侧的键上,通常与~在同一个键上。对子查询中的表名也这样做。
标签: sql mariadb sql-delete