【问题标题】:Setting one field of Composite primary key to AUTO_INCREMENT将复合主键的一个字段设置为 AUTO_INCREMENT
【发布时间】:2020-08-25 17:50:09
【问题描述】:

如何在声明主键后,将int数据类型的主键(由varchar(10)和int两个数据类型的两个字段组成)的一个字段设置为AUTO_INCREMENT。我们可以使用 ALTER 命令吗?

【问题讨论】:

  • 为什么不能根据 varchar 列、ai 列添加唯一键?
  • 您可以使用 MyISAM 引擎,但不要这样做。只需存储一个代理 AI,并在需要时计算用户友好的值。
  • 在 innodb 中,AI 列可以是复合主键的一部分,但它必须是我认为不是您想要的第一个节点。
  • 我看不出这个问题的用例。你为什么要这样做?
  • @P.Salmon 我可以,但只是对我的查询感到好奇。

标签: mysql sql primary-key auto-increment alter


【解决方案1】:

ALTER TABLE mytable 添加主键(id, name);

ALTER TABLE mytable CHANGE id id INT(11) NOT NULL AUTO_INCREMENT;

【讨论】:

  • 除非已经在使用 MyISAM,否则我不确定这会达到什么效果!?!?
猜你喜欢
  • 1970-01-01
  • 2012-07-03
  • 2011-06-08
  • 2013-03-16
  • 1970-01-01
  • 1970-01-01
  • 2019-06-20
  • 2014-05-29
  • 1970-01-01
相关资源
最近更新 更多