gpt4 book ai didi

mysql - 如何更新您在 SELECT 语句中使用的同一个表

转载 作者:行者123 更新时间:2023-11-29 13:48:32 26 4
gpt4 key购买 nike

我有这个:

UPDATE recibo SET liquidado = 1 
WHERE clave_recibo = (
SELECT clave_recibo FROM recibo
WHERE paciente_clave_paciente = (
SELECT clave_paciente FROM paciente
WHERE nombre_paciente = 'foo' AND
apellido_paterno_paciente = 'foo' AND
apellido_materno_paciente = 'foo')
AND fecha_recibo = (
SELECT fecha_recibo FROM recibo
WHERE paciente_clave_paciente = (
SELECT clave_paciente FROM paciente
WHERE nombre_paciente = 'foo' AND
apellido_paterno_paciente = 'foo' AND
apellido_materno_paciente = 'foo')
ORDER BY fecha_recibo DESC LIMIT 1)
);

我收到以下错误:

Error Code: 1093. You can't specify target table 'recibo' for update in FROM clause

我读到您不能修改在 FROM 子句中使用的同一个表有没有其他方法可以做到这一点?

最佳答案

不知道它是否有效...加入表,然后写入你的where语句

更新recibo LEFT JOIN recibo r ON recibo.id = r.id SET ... WHERE ...

关于mysql - 如何更新您在 SELECT 语句中使用的同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17070799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com