如何用第一行的值更新所有行

科尔曼:

我想更新表中的一个字段,以便所有行都具有与第一行相同的值。我认为这很简单:

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);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章