Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Phpmyadmin#1075-表定义不正确;只能有一个自动列,必须将其定义为键_Php_Mysql_Sql_Phpmyadmin - Fatal编程技术网

Phpmyadmin#1075-表定义不正确;只能有一个自动列,必须将其定义为键

Phpmyadmin#1075-表定义不正确;只能有一个自动列,必须将其定义为键,php,mysql,sql,phpmyadmin,Php,Mysql,Sql,Phpmyadmin,你好, 我正在将mySql数据库(最初是access数据库)导入到phpmyadmin中,它给了我以下错误: SQL查询: CREATE TABLE `Acc_inst` ( `inst_ID` INTEGER NOT NULL AUTO_INCREMENT , `inst_Name` VARCHAR( 255 ) , `Inst_Ws` VARCHAR( 255 ) , `inst_ph` VARCHAR( 255 ) , `inst_Fx` VARCHAR( 255 ) ,

你好, 我正在将mySql数据库(最初是access数据库)导入到phpmyadmin中,它给了我以下错误:

SQL查询:

CREATE TABLE  `Acc_inst` (

 `inst_ID` INTEGER NOT NULL AUTO_INCREMENT ,
 `inst_Name` VARCHAR( 255 ) ,
 `Inst_Ws` VARCHAR( 255 ) ,
 `inst_ph` VARCHAR( 255 ) ,
 `inst_Fx` VARCHAR( 255 ) ,
 `Inst_E` VARCHAR( 255 )
) ENGINE = INNODB DEFAULT CHARSET = utf8;
MySQL说:文档

1075-不正确的表格定义;只能有一个自动列,必须将其定义为键

-- 事实上,只有在自动递增列上才有,它被定义为主键,所以我不明白为什么它会给我这个错误

CREATE TABLE  `Acc_inst` 
(    
   `inst_ID` INTEGER NOT NULL primary key AUTO_INCREMENT ,
   `inst_Name` VARCHAR( 255 ) ,
   `Inst_Ws` VARCHAR( 255 ) ,
   `inst_ph` VARCHAR( 255 ) ,
   `inst_Fx` VARCHAR( 255 ) ,
   `Inst_E` VARCHAR( 255 )
) ENGINE = INNODB DEFAULT CHARSET = utf8;

错误表明必须将自动增量列定义为键:将
主键添加到此列定义。

将自动增量列定义为主键

CREATE TABLE  `Acc_inst` 
(    
   `inst_ID` INTEGER NOT NULL AUTO_INCREMENT ,
   `inst_Name` VARCHAR( 255 ) ,
   `Inst_Ws` VARCHAR( 255 ) ,
   `inst_ph` VARCHAR( 255 ) ,
   `inst_Fx` VARCHAR( 255 ) ,
   `Inst_E` VARCHAR( 255 ) ,
   PRIMARY KEY `inst_ID`(`inst_ID`)
) ENGINE = INNODB DEFAULT CHARSET = utf8;

有点晚了,但我在最新版本的phpMyAdmin(4.4.2)中遇到了相同的错误。尼马拉使用了手动SQL查询,我使用了特殊的“添加新表”表单,但仍然出现了这个错误

所以,对于那些像我一样来到这里搜索#1075错误的人,你应该知道,如果你首先在表单中设置索引/主/自动增量列,然后添加一些新列,然后想要提交表单,就会发生这种情况。似乎当您添加更多列时,phpMyAdmin会进行某种背景刷新,并丢失“主要”信息。您仍然可以在表单中看到它,但在后台,它发送的SQL查询不再包含此信息

因此,解决方案是取消选择主列并再次设置它。 我很确定这是一个bug,但它用这种方法简单快速地解决了问题