我有一张表,我添加了一个名为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