我有一个非常大的数据库表 - 近2000万条记录。
记录没有唯一的ID号。所以,我插入了新字段。
现在,我想用身份证号码填充它,增加1,从第一个身份证号码10,000,001开始。
仅供参考 - 我在本地计算机上使用WAMP并且我已经拨打了所有最长时间达5000秒并在php.ini和mysql.ini中拨打了其他几个变量以便首先进行上传(花了10多个小时!!)。
在过去,或者与其他数据库一起,我可能已经将数据导出到excel中,然后掀起一些文本以粘贴回phpmyadmin以更新记录。使用5K记录甚至100K记录时这很好,但这似乎无法容纳2000万条记录。
提前致谢!!
答案 0 :(得分:16)
只需在SQL选项卡中依次运行这两个查询:
ALTER TABLE mytable AUTO_INCREMENT=10000001;
ALTER TABLE mytable ADD `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
然后,MySQL将创建id
字段并从10000001开始按顺序填充。
答案 1 :(得分:0)
这适用于SQL Server,也许您可以将其改编为MySQL:
declare @value int
set @value=10000000
update your_table
set @value+=1,id=@value
它将更新从10000001开始增加1的所有ID行。
我希望至少能给你一些想法。
答案 2 :(得分:0)
您需要做的就是将列设置为AUTO_INCREMENT,mysql将为您编号行。假设您希望将新列命名为“id”。
alter table yourtable auto_increment = 10000001;
alter table yourtable add id int unsigned primary key auto_increment;
您可以在phpMyAdmin的sql面板中发出这些命令 - 最后不要使用分号。