我想更新表中的一个字段,以便所有行都具有与第一行相同的值。 我以为这很简单:
UPDATE my_table SET my_field = (SELECT my_field FROM my_table ORDER BY id LIMIT 1);
但MySql不喜欢这样。
ERROR 1093 (HY000): You can't specify target table 'my_table' for update in FROM clause
您可以将子查询嵌套在另一个子查询中:
UPDATE my_table
SET my_field = (SELECT my_field FROM (SELECT my_field FROM my_table ORDER BY id LIMIT 1) t);