我有一个包含 38,000 条记录的表格,但是没有像 ID
这样的自动增量列。
现在我需要添加一个 ID
列,不知道会不会出现问题?
我有一个包含 38,000 条记录的表格,但是没有像 ID
这样的自动增量列。
现在我需要添加一个 ID
列,不知道会不会出现问题?
只有在你的表没有与其他表关联时,才可以轻松添加新列。
必须删除旧主键并相应地上传表格(可能在旧主键上添加唯一索引)。
按照以下步骤进行:
备份你的数据库
像这样删除主键
ALTER TABLE XXX DROP PRIMARY KEY
ALTER TABLE XXX add column Id INT NOT NULL AUTO_INCREMENT FIRST, ADD primary KEY Id(Id)
这将为您的MySQL表添加自动递增ID:
ALTER TABLE `your_table_name` ADD `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
根据您表格中的数据量不同,完成可能需要几分钟时间。
ALTER TABLE `tableName` CHANGE COLUMN `id` `id` INT(11) NOT NULL AUTO_INCREMENT ;
我不确定这是否是正确的方式,但我在我的Java EE应用程序中没有注意到任何问题。
我处理大数据,其中一个ID列填充了NULL值。我选择运行以下SQL语句来填充数字...然后我将该ID列设置为我的主键。
set @row = 0;
UPDATE philadelphia.msg_geo_sal SET id = @row := @row + 1;
在将其设置为自增字段之前,您可能需要首先将其添加为主键。
您可以查看此示例。
ALTER TABLE `category`
ADD PRIMARY KEY (`cat_id`);
ALTER TABLE `category`
MODIFY `cat_id` int(11) NOT NULL AUTO_INCREMENT;