我有一个包含1200条记录的MySQL表,但现在我遇到了问题......
我需要创建一个名为index
的新字段,每行包含数字1-1200。
手动输入这些内容需要一段时间,如果可能,我真的更喜欢查询来执行此操作
任何帮助表示赞赏
答案 0 :(得分:2)
更新表x set index = id;鉴于你有id作为自动增量值
答案 1 :(得分:2)
这对于大量记录来说可能不是最好的方法,但是你在这里处理的是一小部分。您可以创建一个新表并将旧数据复制到其中:
CREATE TABLE my_new_table LIKE my_old_table;
ALTER TABLE my_new_table ADD COLUMN (index INT AUTO_INCREMENT ...) FIRST;
INSERT INTO my_new_table (field1, field2, field3, ....)
SELECT (field1, field2, field3, ...) FROM my_old_table;
然后删除旧表并重命名新表。
答案 2 :(得分:1)
您可以使用循环构建SPROC并使用计数器的值来插入值。