首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误1075:表定义不正确;只能有一个auto列,并且必须将其定义为键

错误1075:表定义不正确;只能有一个auto列,并且必须将其定义为键
EN

Stack Overflow用户
提问于 2014-03-13 05:32:43
回答 2查看 7.3K关注 0票数 0

我试着“更改表”我还需要一个AI字段,而不是key...“列表”

代码语言:javascript
复制
ID INT(11):PK Not Null AutoIn..
Name VARCHAR
UserID INT(11):FK Not Null
edit BOOL

现在我还需要一个字段"sortpos“作为AI。我在MySQL工作台上试用了一下

代码语言:javascript
复制
ALTER TABLE `**mydb**`.`List` 
ADD COLUMN `sortpos` INT(11) NOT NULL AUTO_INCREMENT AFTER `edit`;

你能帮我吗?

Thx

EN

回答 2

Stack Overflow用户

发布于 2014-03-13 07:26:20

你不能得到比这个更好的错误信息了。您已经在表中将ID定义为自动增量。现在,您正试图添加另一个字段作为自动增量,这是不允许的。一个表只能有一个必须定义为主键的自动增量。

从alter语句中删除AUTO_INCREMENT并创建触发器以递增新列。

票数 1
EN

Stack Overflow用户

发布于 2014-03-14 14:41:54

根据您的注释,您正在将用户界面与表数据混淆。该表只需要有一个ID,如果需要,可以创建如下查询:

代码语言:javascript
复制
SELECT ID, ID AS SORTPOS, NAME FROM List

但是你甚至不需要查询,你应该只在用户界面级别进行查询。

另外,你在评论中显示的仅仅是列表的标题,而不是列表本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22364316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档