2012-06-14 32 views
0

錯誤是這樣的;當我嘗試定義一個MySQL表時,請幫助理清語法錯誤

#1064 - 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'(
orderID VARCHAR(6) NOT NULL DEFAULT 0, 
orderDate DATE NOT NULL DEFAUL' at line 1 

我DDL是這樣的:

CREATE TABLE 'order'(
orderID VARCHAR(6) NOT NULL DEFAULT 0, 
orderDate DATE NOT NULL DEFAULT 1, 
claimCondition VARCHAR(30) NOT NULL DEFAULT '' 
); 
+2

是的,這是一個錯誤。 – Blender

+0

我的代碼看起來像什麼? – tricor

+0

請接受幫助你的答案。這樣其他人也可以受益。點擊答案複選框,它會變成綠色。 –

回答

2

名稱爲了是一個保留字,所以你必須將該表命名爲別的東西。另外,對於類型日期,值1不是有效的默認值。

這工作:

CREATE TABLE order1 (
    orderID VARCHAR(6) NOT NULL DEFAULT 0, 
    orderDate DATE NOT NULL, 
    claimCondition VARCHAR(30) NOT NULL DEFAULT '' 
); 
+0

TQ問題解決 – tricor

0
CREATE TABLE `order`(
`orderID` VARCHAR(6) NOT NULL DEFAULT 0, 
`orderDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, 
`claimCondition` VARCHAR(30) NOT NULL DEFAULT ' ' 
); 
0

你不能指定默認的1到日期字段,因爲數據類型是日期的默認值必須是日期值(使用默認的日期或當前日期,而不是)

 create table orders(orderId varchar(6) NOT NULL DEFAULT 0,order_Date DATE NOT NULL DEFAULT "0000-00-00",claimCondition VARCHAR(30) NOT NULL DEFAULT ''); 

上面的查詢是沒有默認值的工作知道的日期字段

請參考這個鏈接,你會得到數據類型的想法和它的默認值 http://kimbriggs.com/computers/computer-notes/mysql-notes/mysql-data-types-50.file

相關問題