有人可以解释一下,我的SQL查询有什么问题吗?
ALTER TABLE tableName DROP COLUMN IF EXISTS columnName;
MariaDB给了我这个错误:
#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 'IF EXISTS columnName' at line 1
尝试了很多语法修改,但没有正面结果。
答案 0 :(得分:1)
我在dbfiddle.uk(MariaDB 10.2 RC)上进行了测试,但它确实有效。您确定您的MariaDB版本(SELECT VERSION();
)以及该版本中是否存在该命令? (我想它直到MARIADB 10才支持)
CREATE TABLE T1 (ID INT, DESCR VARCHAR(20));
INSERT INTO T1 VALUES (1, 'Test');
SELECT * FROM T1;
ALTER TABLE T1 DROP COLUMN IF EXISTS XXX; /* no error */
SELECT * FROM T1;
ALTER TABLE T1 DROP COLUMN IF EXISTS DESCR; /* column dropped*/
SELECT * FROM T1;
答案 1 :(得分:0)
我今天ALTER TABLE table_name DROP IF EXISTS column_name;
做过,而且效果很好:P
MariaDB 10.0