2017-03-22 24 views
-1

對於語法錯誤,MySQL極其無用。此命令不停地進行故障對我來說:對於具有INT,FLOAT和VARCHAR的簡單表,CREATE TABLE命令保持失敗

mysql> CREATE TABLE test (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, text VARCHAR(50), integer INT, floating FLOAT); 

有了一個錯誤:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use 
near 'integer INT, floating FLOAT)' at line 1 

,它甚至沒有告訴我什麼是錯的。當我在網上嘗試google一些語法檢查器時,它給了我一個關於命令的不同部分的錯誤。

回答

1

integer是MySQL中的一個保留字,它不能直接用作列名。

如果你想使用它,你需要用反引號括到它,例如:

CREATE TABLE test (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
        text VARCHAR(50), `integer` INT, floating FLOAT);