2016-07-28 139 views
0

我正在拉我的頭髮。我已經連接到MySQL服務器,我試圖在其上創建一個表:MySQL CREATE TABLE'你的SQL語法錯誤'錯誤

CREATE TABLE order (
    order_id INT, 
    order_is_overnight BIT, 
    order_quantity INT, 
    order_amount DOUBLE, 
    order_timestamp DATETIME 
); 

當我運行此我得到:

Error: 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 'order (
     order_id INT, 
     order_is_overnight BIT, 
     order_quantity INT, 
     order_amou' at line 1 
SQLState: 42000 
ErrorCode: 1064 

這是世界上最模糊的錯誤消息,類似於一個Java例外,說「哎呀,你的代碼中的某處出了點問題!

任何想法,我要去哪裏?我已經檢查並重新檢查,並重新檢查,這似乎是一個完全有效/合法的CREATE TABLE聲明(不要擔心性能,索引,鍵等;這只是一個虛擬/測試表)。

+3

不要忘記ORDER是一個保留字 – e4c5

+0

AHHHHHHHHHHHHH .....感謝@ e4c5(+1) – smeeb

回答

2

order是保留字,則必須將它命名回報價

CREATE TABLE `order` (
    order_id INT, 
    order_is_overnight BIT, 
    order_quantity INT, 
    order_amount DOUBLE, 
    order_timestamp DATETIME 
); 
+0

謝謝@Ivan C.(+1)。 FWIW'命令'(單引號)不起作用,但將其改爲**命令**(複數)。奇怪的。 – smeeb

+0

'order'是一個保留字,用作:'SELECT * FROM table ORDER BY id' ...順便說一句,我的回答標記爲接受:) –

+0

我會免費的!當這個讓我的時候。在發佈問題的特定時間段內您無法接受答案;-) – smeeb