我正在尝试执行此查询:
UPDATE
arc_salon_credit_exposant AS asce
SET
asce.asce_credit_restant =
(
SELECT
SUM(asce_credit_restant)
FROM
arc_salon_credit_exposant
WHERE
asce_scre_id = '524' AND
asce_sexp_id = '719' AND
(asce_fam_id is NULL OR
asce_fam_id = '168')
)
WHERE
asce.asce_scre_id = '524' AND
asce.asce_sexp_id = '719' AND
asce.asce_fam_id is NULL
但是,我得到的只是一个 mysql 错误(#1093 - You can't specify target table 'asce' for update in FROM 子句)。我在 stackoverflow 上阅读了一些问题(这就是我尝试使用别名的原因),但我无法让它工作。我知道我必须编写查询,以便 Mysql 将创建一个临时表,但是.. 我无法完成这项工作。有点卡在这里。
这是表的结构:
Column name Type Null Défaut
asce_id int(11) Non
asce_scre_id int(11) Non
asce_sexp_id int(11) Non
asce_credit_restant double Oui NULL
asce_fam_id int(11) Oui NULL
这里有一些数据:
asce_id asce_scre_id asce_sexp_id asce_credit_restant asce_fam_id
35 524 7885 4900 无
17 524 719 200 空
45 524 719 100 168
44 524 7885 100 168
提前致谢