1

テーブルの作成時にこのエラーが発生します。どうすれば修正できますか?

1064 - SQL 構文にエラーがあります。4 行目の 'NOT NULL, mult smallint default NOT NULL, part_des varchar(120) NOT NULL defau' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

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)
)
4

2 に答える 2

2

デフォルトのキーワードを指定した場合は、デフォルト値を設定する必要があります。「not null」は別の仕様であり、値そのものではありません。

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

moq smallint デフォルト 0 NOT NULL,

于 2012-05-03T16:42:38.610 に答える
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)
)
于 2012-05-03T16:46:07.527 に答える