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

名前の順序は予約語なので、テーブルに別の名前を付ける必要があります。また、値 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
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 に答える
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 に答える