我得到了與遊戲的表(InnoDB的)一個MySQL數據庫:如何爲已經在使用的表添加varchar字段?
gamerooms
id: bigint(20) unsigned not null auto_increment
PRIMARY KEY (`id`)
我想開始產生於各行的UUID值,我可以公開分享,是這樣的:
gamerooms
id | id_public |
--------------------
1 | abcde
2 | ghijk
3 | lmnop
...
select * from gamerooms where id_public = ...
如何添加此新列,同時請記住表中已有記錄?我很困惑,因爲列應標明NOT NULL,但加入後列,已經存在的所有記錄將有空值..我一定要提供一個默認值?:
ALTER TABLE `gamerooms` ADD COLUMN `id_public` varchar(36) DEFAULT something AFTER `id`
我想在創建後在id_public上放置一個索引,所以不確定如果第一次創建列後的空值將會弄亂任何東西。
此外,我可以使用varchar(36)與mysqls UUID()輸出,對嗎?
謝謝
如果沒有爲現有項目分配有意義的值,爲什麼要標記列「NOT NULL」? – Borealid