使用where where statment更新表列和唯一字符串

时间:2017-03-09 11:31:29

标签: mysql

我有唯一的列url varchar(4),并希望将其更新为唯一的随机字符串,但是有重复项的问题。 所以我想创建这样的循环,但是在定位两次相同的表时遇到问题。

UPDATE IGNORE word SET url = (SELECT GROUP_CONCAT(SUBSTRING('1234567890qwertyuiopasdfghjklzxcvbnm' , 1+ FLOOR(RAND()*LENGTH('1234567890qwertyuiopasdfghjklzxcvbnm'))     ,1) SEPARATOR '')   
FROM (SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4) AS dummy_tbl) 
WHERE EXISTS (SELECT url FROM word WHERE url IS NULL);

使用单个查询填充我的专栏的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您应该删除val provider: RefinedProvider[T] forSome { type T <: HasX } = ... 子句,然后直接更新EXISTS行:

NULL

所以你的完整查询将是:

UPDATE
IGNORE word
SET url = ...
WHERE url IS NULL;