當資料表已存在資料但缺乏主鍵時,可使用單條 ALTER TABLE 語句同時新增自增整數欄位並設為主鍵,操作原子化且高效:
ALTER TABLE `photo_feedbacks`
ADD COLUMN `id` INT(11) NOT NULL AUTO_INCREMENT FIRST,
ADD PRIMARY KEY (`id`);
關鍵點解析:
FIRST 關鍵字將新欄位置於表結構首位,便於識別;AUTO_INCREMENT 自動為現有行填充遞增唯一值;NOT NULL 確保主鍵非空約束;適用於 MySQL 5.6+ 版本,大表操作建議低峰期執行或配合 pt-online-schema-change 等工具減少鎖表時間。