将自动增量 ID 添加到现有的升序列?
Posted
技术标签:
【中文标题】将自动增量 ID 添加到现有的升序列?【英文标题】:Add Auto-Increment ID to existing ascending column? 【发布时间】:2016-07-23 12:51:31 【问题描述】:我有一个预先存在的表,其中包含“fname”、“lname”、“email”、“rgtime”和“ip”。但现在我想要一个自动增量列。
我正在尝试根据'rgtime'
注册时间的升序值添加'rgid'
自动增量的升序值 p>
如何通过升序'rgtime'的值来添加自动增量列
这使得 id 随机自动递增值
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
但这不是我想要的。
感谢任何帮助。
【问题讨论】:
你能举个例子说明你在找什么吗? 【参考方案1】:创建具有相同结构但具有 id 字段的新表。然后运行查询
INSERT INTO MyTable2 SELECT NULL, * FROM MyTable ORDER BY rgtime
然后检查是否一切正常,然后删除MyTable并将MyTable2重命名为MyTable
【讨论】:
根据问题,他也应该加上“order by rgtime”。 哦,是的。心里有,但是忘记了。谢谢。顺便说一句,您可以随时编辑答案,添加您认为必要的任何内容 如果您愿意,您可以在一个查询中完成所有这些操作(CREATE、INSERT、INDEX)。 不行,因为两张表的字段数不同。所以你应该在语句中设置字段列表和MyTable一样。 NULL 根据我的测试在这种情况下是不可接受的。也许是正确的INSERT INTO MyTable2(....) SELECT * FROM MyTable ORDER BY rgtime
以上是关于将自动增量 ID 添加到现有的升序列?的主要内容,如果未能解决你的问题,请参考以下文章