MySQL自增列id:插入的值大於id的自增值

從Oracle切換到阿里雲; 雲下的Oracle數據需要同步到Polardb(mysql8),雲上的新系統(rds--mysql5.7)數據也要同步到PolarDB的同一張表裏;

rds庫中,有自己的id自增列, 同步到polardb上使用rds自己生成的值(不使用polardb的id自增值);

Oracle數據沒有id列,通過Polardb的id自增列自動生成值;

因此爲了避免id衝突,將rds的id自增列的起始值,從5億開始,這樣polardb庫中5億以下的值就留給oracle做數據同步(反正2、3個月以後,oracle就下線了,沒有新的數據進來了);

但是當rds同步到polardb後,發現polardb的id自增列從5億多開始繼續下去了,而不是原來設想的在小數字端不斷自增;這樣就發生了Oracle同步來的數據,和rds同步來的數據發生覆蓋現象;

看來系統爲了保證id自增列不發生衝突,如果插入確定值大於AUTO_INCREMENT值,則自動將AUTO_INCREMENT值設置成插入的確定值(+1);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章