我有一張表,我添加了一個名爲phone
的列 - 表中還有一個id設置爲auto_increments的主鍵。我怎樣才能將一個隨機值插入到手機列中,這將不會被複制。以下UPDATE語句確實插入了隨機值,但並非全部都是唯一的。此外,我沒有出售我正確地投入phone
領域,但嘗試將其設置爲int(11)W/ALTER TABLE命令時遇到問題(主要是,它運行正常,但添加一行新的電話號碼,插入的值被翻譯成不同的數字)。MySQL更改表,添加具有唯一隨機值的列
UPDATE Ballot SET phone = FLOOR(50000000 * RAND()) + 1;
表規範的
+------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | phone | varchar(11) | NO | | NULL | | | age | tinyint(3) | NO | | NULL | | | test | tinyint(4) | NO | | 0 | | | note | varchar(100) | YES | | NULL | | +------------+--------------+------+-----+---------+----------------+
介意我問爲什麼你需要做到這一點? – 2011-01-11 18:27:53
當然,我正在處理一張現有的表格,該表格正在通過投票代碼從明信片註冊流程轉換爲註冊流程,該流程將允許選民通過自動語音服務驗證自己。該服務只允許爲每個電話號碼填寫一項調查。 – Schoffelman 2011-01-11 22:07:07
現在我認爲它 - 電話領域不需要是隨機的 - 只要它是唯一的,而不是現有的10位電話號碼。所以像 更新投票SET phone = id; 應該/將工作。 – Schoffelman 2011-01-11 22:14:28