0

错误是这样的;

#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 ''
);
4

3 回答 3

2

名称order是保留字,因此您必须将表命名为其他名称。此外,值 1 不是date类型的有效默认值。

这有效:

CREATE TABLE order1 (
    orderID VARCHAR(6) NOT NULL DEFAULT 0,
    orderDate DATE NOT NULL,
    claimCondition VARCHAR(30) NOT NULL DEFAULT ''
);
于 2012-06-14T04:40:41.823 回答
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

于 2012-06-14T04:46:13.723 回答
0
CREATE TABLE `order`(
`orderID` VARCHAR(6) NOT NULL DEFAULT 0,
`orderDate` TIMESTAMP  NOT NULL DEFAULT CURRENT_TIMESTAMP,
`claimCondition` VARCHAR(30) NOT NULL DEFAULT ' '
);
于 2012-06-14T04:44:15.377 回答