table 定义不正确;只能有一个自动列,并且必须将其定义为键,但它是
Incorrect table definition; there can be only one auto column and it must be defined as a key, but it is
当我尝试在 MySQL
中创建 table "subcategorias" 时出现此错误
ERROR 1075 (42000): Incorrect table definition; there can be only one
auto column and it must be defined as a key
参与的 table 是:
CREATE TABLE categorias (
idcategoria INTEGER(3) NOT NULL AUTO_INCREMENT,
nombre VARCHAR(32) NOT NULL,
descripcion VARCHAR(256) NOT NULL,
logo VARCHAR(128) NOT NULL COMMENT 'url',
imagen VARCHAR(128) NOT NULL COMMENT 'url',
recomendado ENUM('0', '1', '2', '3', '4', '5') NOT NULL DEFAULT '0',
estado ENUM('0', '1') NOT NULL DEFAULT '0',
PRIMARY KEY (idcategoria)
) ENGINE=InnoDB;
CREATE TABLE subcategorias (
idcategoria INTEGER(3) NOT NULL,
idsubcategoria INTEGER(3) NOT NULL AUTO_INCREMENT,
nombre VARCHAR(32) NOT NULL,
descripcion VARCHAR(256) NOT NULL,
logo VARCHAR(128) NOT NULL COMMENT 'url',
imagen VARCHAR(128) NOT NULL COMMENT 'url',
recomendado ENUM('0', '1', '2', '3', '4', '5') NOT NULL DEFAULT '0',
estado ENUM('0', '1') NOT NULL DEFAULT '0',
PRIMARY KEY (idcategoria, idsubcategoria),
FOREIGN KEY (idcategoria) REFERENCES categorias(idcategoria)
) ENGINE=InnoDB;
有什么问题?
这里:
CREATE TABLE subcategorias (
idcategoria INTEGER(3) NOT NULL,
idsubcategoria INTEGER(3) NOT NULL AUTO_INCREMENT, <---your auto_inc column
PRIMARY KEY (idcategoria, idsubcategoria), <--- the PK definition
您的 auto_inc 列是主键的 PART 部分,但它本身不是主键。你不能使用这种结构。 auto_inc 字段必须是 PK 定义中的唯一字段。
当我尝试在 MySQL
中创建 table "subcategorias" 时出现此错误ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key
参与的 table 是:
CREATE TABLE categorias (
idcategoria INTEGER(3) NOT NULL AUTO_INCREMENT,
nombre VARCHAR(32) NOT NULL,
descripcion VARCHAR(256) NOT NULL,
logo VARCHAR(128) NOT NULL COMMENT 'url',
imagen VARCHAR(128) NOT NULL COMMENT 'url',
recomendado ENUM('0', '1', '2', '3', '4', '5') NOT NULL DEFAULT '0',
estado ENUM('0', '1') NOT NULL DEFAULT '0',
PRIMARY KEY (idcategoria)
) ENGINE=InnoDB;
CREATE TABLE subcategorias (
idcategoria INTEGER(3) NOT NULL,
idsubcategoria INTEGER(3) NOT NULL AUTO_INCREMENT,
nombre VARCHAR(32) NOT NULL,
descripcion VARCHAR(256) NOT NULL,
logo VARCHAR(128) NOT NULL COMMENT 'url',
imagen VARCHAR(128) NOT NULL COMMENT 'url',
recomendado ENUM('0', '1', '2', '3', '4', '5') NOT NULL DEFAULT '0',
estado ENUM('0', '1') NOT NULL DEFAULT '0',
PRIMARY KEY (idcategoria, idsubcategoria),
FOREIGN KEY (idcategoria) REFERENCES categorias(idcategoria)
) ENGINE=InnoDB;
有什么问题?
这里:
CREATE TABLE subcategorias (
idcategoria INTEGER(3) NOT NULL,
idsubcategoria INTEGER(3) NOT NULL AUTO_INCREMENT, <---your auto_inc column
PRIMARY KEY (idcategoria, idsubcategoria), <--- the PK definition
您的 auto_inc 列是主键的 PART 部分,但它本身不是主键。你不能使用这种结构。 auto_inc 字段必须是 PK 定义中的唯一字段。