Error de MySQL # 1064 para NO NULO

Encuentro este error al crear una tabla. ¿Cómo se puede arreglar?

1064 - Tiene un error en su sintaxis SQL; consulte el manual que corresponde a la versión de su servidor MySQL para conocer la sintaxis correcta para usar cerca de 'NOT NULL, mult smallint default NOT NULL, part_des varchar(120) NOT NULL defau' en la línea 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)
)

preguntado el 03 de mayo de 12 a las 17:05

2 Respuestas

Debe poner un valor predeterminado si especificó una palabra clave predeterminada. "no nulo" es otra especificación, no un valor en sí mismo.

¿Cuál es el valor predeterminado? p.ej:

moq smallint predeterminado 0 NO NULO,

contestado el 03 de mayo de 12 a las 17:05

En cada columna con el default palabra clave que no ha proporcionado un valor predeterminado. Esto puede ser tan simple como un 0 para números y una cadena vacía para caracteres después del valor predeterminado. Además, su columna de clave principal no existe, por lo que debe corregir eso: ¿es lumex_number?

La siguiente edición funciona:

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

contestado el 03 de mayo de 12 a las 17:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.