我刚刚成功地将一个很大的数据库从SQL Server迁移到了MySQL。在迁移期间,我没有将主键设置为自动递增,因为表中的关系基于ID作为主键,而这些主键是另一个表中的外键。
现在,为了添加新记录,我想将所有表中的主键“id”列更改为autoincrement,但从每个表中id列的最后一个最高数字开始。
在不失去已有关系的情况下,最好的方法是什么?
更新:尝试添加autoincrement时出现以下错误:
ERROR 1067: Invalid default value for 'id'
SQL Statement:
ALTER TABLE `skandium`.`brands` CHANGE COLUMN `id` `id` INT(11) NOT NULL DEFAULT '0' AUTO_INCREMENT
ERROR 1050: Table 'brands' already exists
SQL Statement:
CREATE TABLE `brands` (
`id` int(11) NOT NULL DEFAULT '0',
`brand` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1