使用增量编号填充字段所需的MySQL语句

Pat*_*ess 3 mysql sql database ms-access

我有一个旧的MS Access DB,我正在转换为MySQL DB.我使用bullzip来创建数据库,但是由于设计错误,旧的MS Access数据库没有大多数表的唯一主键.

所以我创建了一个id字段,但显然每个条目都是空的,我想知道是否有一个简单的声明我可以用它来填充1,2,3,4等等......

编辑: 我想我没有正确地解决我的问题.我知道关于自动增量的一切.那不是问题.

我有一个表,我需要保存的记录,以及来自Access数据库的记录,该数据库没有定义为字段的唯一ID.换句话说,我有firstname,surname等字段,但没有字段'id'.这看起来非常疯狂,但显然这个数据库已被很好地使用,并且从来没有任何表格的任何独特ID.奇怪的!

无论如何,我在表中为id创建了一个字段(并且当然将其设置为自动增量)但显然所有现有记录当前都没有设置id.所以我需要为每条记录创建一个.

有没有办法使用mysql语句用唯一的数字填充所有这些记录?

干杯

Bil*_*win 8

如果将新的id列添加到现有表并使其成为AUTO_INCREMENT PRIMARY KEY,它将自动使用递增值填充它.

mysql> ALTER TABLE TheTable ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY;
mysql> SELECT id FROM TheTable;
-- outputs values 1, 2, 3, etc.
Run Code Online (Sandbox Code Playgroud)

如果你创建了一个id列但没有声明它AUTO_INCREMENT PRIMARY KEY,你可以像这样填充列:

mysql> SET @id := 0;
mysql> UPDATE TheTable SET id = (@id := @id+1);
Run Code Online (Sandbox Code Playgroud)