修改大表字段属性报主键冲突
对一个200多万记录的大表执行alter操作,结果报了Duplicate entry XXX for key 'PRIMAY'
这是由于MYSQL的online DDL 特性导致的。 参考 https://blog.csdn.net/finalkof1983/article/details/88355314
可以使用ALGORITHM=COPY------ copy表示放弃online DDL的方式,执行DDL的时候会创建临时表
LOCK=SHARED - ----对操作表加上S锁,不阻塞读操作。阻塞写操作。
alter table XXX add COLUMN aaa , ALGORITHM=COPY,LOCK=SHARED;