2012-05-03 23 views
1

テーブルの作成時にこのエラーが発生しました。どのように修正することができますか?NOT NULLのMySQLエラー#1064

1064 - SQL構文に誤りがあります。 4

CREATE TABLE currentpricer_supplier1 
(
    supplier_number varchar(50) NOT NULL, 
    moq smallint default NOT NULL, 
    mult smallint default NOT NULL, 
    part_des varchar(120) default NOT NULL, 
    uom_qbreak char(2) default NOT NULL, 
    costbreak1 smallint default NOT NULL, 
    costvalue1 dec(6,3) default NULL, 
    costbreak2 smallint default NOT NULL, 
    costvalue2 dec(6,3) default NULL, 
    costbreak3 smallint default NOT NULL, 
    costvalue3 dec(6,3) default NULL, 
    costbreak4 smallint default NOT NULL, 
    costvalue4 dec(6,3) default NULL, 
    costbreak5 smallint default NOT NULL, 
    costvalue5 dec(6,3) default NULL, 
    costbreak6 smallint default NOT NULL, 
    costvalue6 dec(6,3) default NULL, 
    costbreak7 smallint default NOT NULL, 
    costvalue7 dec(6,3) default NULL, 
    costbreak8 smallint default NOT NULL, 
    costvalue8 dec(6,3) default NULL, 
    leadtime smallint default NOT NULL, 
    leadtime_code char(2) default NOT NULL, 
    PRIMARY KEY (supplier_number) 
) 

答えて

1

あなたが持っているラインで 'NOT NULL defauをVARCHAR(120)part_des NOT NULL、NULL、NOT MULT SMALLINTのデフォルトの' 近くを使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してくださいデフォルトのキーワードを指定した場合はデフォルト値を設定します。 「not null」は別の仕様であり、値そのものではありません。

デフォルト値は何ですか? は、例えば:

MOQ SMALLINTデフォルト0 NOT NULL、各列の

1

デフォルト値を供給していないdefaultキーワードで。これは、数字の場合は0、デフォルトの後の文字の場合は空の文字列と同じくらい簡単です。また、主キー列が存在しないので、それを修正する必要があります - それはlumex_numberですか?

次編集作品:

CREATE TABLE currentpricer_supplier1 
(
    lumex_number varchar(50) NOT NULL, 
    moq smallint default 0 NOT NULL, 
    mult smallint default 0 NOT NULL, 
    part_des varchar(120) default 0 NOT NULL, 
    uom_qbreak char(2) default 0 NOT NULL, 
    costbreak1 smallint default 0 NOT NULL, 
    costvalue1 dec(6,3) default 0 NULL, 
    costbreak2 smallint default 0 NOT NULL, 
    costvalue2 dec(6,3) default 0 NULL, 
    costbreak3 smallint default 0 NOT NULL, 
    costvalue3 dec(6,3) default 0 NULL, 
    costbreak4 smallint default 0 NOT NULL, 
    costvalue4 dec(6,3) default 0 NULL, 
    costbreak5 smallint default 0 NOT NULL, 
    costvalue5 dec(6,3) default 0 NULL, 
    costbreak6 smallint default 0 NOT NULL, 
    costvalue6 dec(6,3) default 0 NULL, 
    costbreak7 smallint default 0 NOT NULL, 
    costvalue7 dec(6,3) default 0 NULL, 
    costbreak8 smallint default 0 NOT NULL, 
    costvalue8 dec(6,3) default 0 NULL, 
    leadtime smallint default 0 NOT NULL, 
    leadtime_code char(2) default '' NOT NULL, 
    PRIMARY KEY (lumex_number) 
)