【问题标题】:setting MySQL field uid as auto_increment将 MySQL 字段 uid 设置为 auto_increment
【发布时间】:2011-06-08 05:36:15
【问题描述】:

由于某种原因,当我尝试将我的 uid 设置为 auto_increment 时,我不断收到以下错误。我正在使用 phpMyAdmin。

Error

SQL query:

ALTER TABLE `ITEMS` ADD `uid` INT( 2 ) NOT NULL AUTO_INCREMENT FIRST ,
ADD `name` VARCHAR( 100 ) NOT NULL AFTER `uid` ,
ADD `status` VARCHAR( 100 ) NOT NULL AFTER `name`

MySQL said: Documentation
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key 

我的数据库中还有一些其他表,它们最初的索引为 auto_increment,但我将所有这些列都更改为 uid varchar。但现在我要添加一个名为 ITEMS 的表,并且我希望 uid 成为我可以用作所有其他表的参考点的“主”键。

【问题讨论】:

    标签: mysql sql mysql-error-1075


    【解决方案1】:

    您需要将 PRIMARY KEY 约束添加到新列。顺便说一句,这可能意味着从任何最初为 AUTO_INCREMENT 的旧列中删除该约束。

    【讨论】:

    • 这是我的问题。我删除了在其他 3 个表中设置的主键?!那行得通。谢谢!
    【解决方案2】:

    您不是在添加表格,而是在更改它。新规范与架构中存在的内容冲突,您可以显示表并将其发布在此处供我们查看。

    【讨论】:

    • 那个错误是因为我已经输入了一个字段并且要返回添加 uid。感谢您的反馈。
    猜你喜欢
    • 2014-05-29
    • 1970-01-01
    • 2020-08-25
    • 2021-04-11
    • 2020-03-08
    • 2015-08-23
    • 1970-01-01
    • 2011-04-04
    • 2017-03-28
    相关资源
    最近更新 更多