首页 文章

MySQL NULL错误#1064表示NOT NULL

提问于
浏览
1

创建表时遇到此错误 . 怎么修好?

1064 - 您的SQL语法出错;查看与MySQL服务器版本对应的手册,以便在第4行使用“NOT NULL,mult smallint default NOT NULL,part_des varchar(120)NOT NULL defau”附近使用正确的语法

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

2 回答

  • 1

    如果指定了default关键字,则必须设置默认值 . “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)
    )
    

相关问题