2017-04-04 2 views
0

誰かが私の説明をしてくれますか?MariaDBにDROP COLUMN IFが存在する - 構文エラー

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 

Aは、構文の変更の多くを試みたが、陽性結果なし。

+0

'drop column if exists'は有効なMySQL構文ではありませんので、MariaDBでサポートされていれば驚いています。 –

+0

のMariaDB文書(https://mariadb.com/kb/en/mariadb/alter-table/#drop-column-if-exists-col_name-cascaderestrict)には、このステートメントがあります。 – janfitz

+0

構文はMariaDB ** 10.0 **で導入されました。 5.5を使用している必要があります。 – elenst

答えて

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; 
関連する問題