输入数据库中的主键时出错

时间:2015-12-01 19:12:33

标签: php mysql sql

现在,我创建的数据库在我的数据库中有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;

2 个答案:

答案 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?