我正在尝试使用JOIN和RAND
进行更新UPDATE table1 a INNER JOIN table2 b USING(id)
SET a.description = CONCAT('different words', b.name)
WHERE a.description LIKE ''
ORDER BY RAND() LIMIT 100;
我得到错误:
对更新和订单的使用不正确无需加入以下代码即可完美
UPDATE table1 SET description = CONCAT('different words', name)
WHERE description LIKE ''
ORDER BY RAND() LIMIT 100;
感谢您的帮助
尝试以下方法:
UPDATE a
SET a.description = CONCAT('different words', b.name)
FROM table1 a
INNER JOIN table2 b ON a.id=b.id
WHERE a.description LIKE ''
ORDER BY RAND() LIMIT 100;
假设您使用的是 mysql
,则应将正在工作的查询(用用户变量和订单按)作为内联视图(MySQL称其为派生的表)。将整个视图作为更新语句中的行源引用。因此,您的查询应该是这样的:
UPDATE table1 a
INNER JOIN (
--query
) as someName
SET a.description = CONCAT('different words', b.name)