關(guān)于mysql我目前只是小白滓鸠,但是有個場景,很特殊释涛,就是老數(shù)據(jù)庫的某個關(guān)系表有一個聯(lián)合的唯一鍵加叁,但是沒有主鍵,在業(yè)務(wù)上現(xiàn)在需要一個自增的主鍵唇撬。
所以錯誤如下:
All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead
說的很有道理,我不遷移數(shù)據(jù)新insert的情況下展融,如何實現(xiàn)在已有數(shù)據(jù)的關(guān)系表加自增長id,前提是這個表還在使用窖认,沒辦法搞一個一樣的表(設(shè)置了int主鍵自增)insert然后再用新的表。我最終查了一些東西告希,利用數(shù)據(jù)庫的sql層面解決了扑浸,此處記錄一下:
ALTER TABLE `person_device` ADD COLUMN `ID` int NULL DEFAULT 0 FIRST ;
ALTER TABLE `person_device` change ID ID int not null auto_increment primary key;