现在,我创建的数据库在我的数据库中有10列,但我无法创建数据库表,我得到“#1067 - 'primary_key'的默认值无效”。
这是我的sql代码:
CREATE TABLE `quiz`.`user_details` ( `primary_key` INT(6) UNSIGNED NOT NULL DEFAULT '1' AUTO_INCREMENT , `foreign_key` INT(6) UNSIGNED NOT NULL DEFAULT '1' AUTO_INCREMENT , `firstname` VARCHAR(20) NOT NULL , `lastname` VARCHAR(20) NOT NULL , `username` VARCHAR(20) NOT NULL , `password` VARCHAR(20) NOT NULL , `email` VARCHAR(20) NOT NULL , `phone_number` INT(10) NOT NULL , `address` CHAR(50) NOT NULL , `exam_taking` INT(3) NOT NULL AUTO_INCREMENT , PRIMARY KEY (`primary_key`(6)), UNIQUE `foreign_key` (`foreign_key`)) ENGINE = InnoDB;
答案 0 :(得分:0)
您无法使用自动递增字段的默认值。只需将定义更改为:
CREATE TABLE `quiz`.`user_details`
(`primary_key` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
`foreign_key` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT ,
`firstname` VARCHAR(20) NOT NULL ,
`lastname` VARCHAR(20) NOT NULL ,
`username` VARCHAR(20) NOT NULL ,
`password` VARCHAR(20) NOT NULL ,
`email` VARCHAR(20) NOT NULL ,
`phone_number` INT(10) NOT NULL ,
`address` CHAR(50) NOT NULL ,
`exam_taking` INT(3) NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (`primary_key`),
UNIQUE `foreign_key` (`foreign_key`)) ENGINE = InnoDB;
另请注意,不外键的属性名称foreign_key
确实具有误导性。
答案 1 :(得分:0)
不要添加DEFAULT值,因为您已将主键定义为AUTO INCREMENT。 可能重复。 #1067 - Invalid default value for 'bonusid' how can i fix this error?