从mySql上的Select错误语法更新
我试图直接在mySql中执行这个查询,但它不起作用从mySql上的Select错误语法更新,mysql,Mysql,我试图直接在mySql中执行这个查询,但它不起作用 UPDATE article a SET a.qte_art = (a.qte_art+(i.qte*1)) FROM( SELECT l.qte, l.article_id_article FROM ligne_sortie l, bon_sortie b, article a WHERE l.bon_sortie_id_sortie = b.id_bsr AND l.arti
UPDATE article a
SET a.qte_art = (a.qte_art+(i.qte*1))
FROM(
SELECT l.qte, l.article_id_article
FROM ligne_sortie l, bon_sortie b, article a
WHERE l.bon_sortie_id_sortie = b.id_bsr
AND l.article_id_article = a.id_article
AND b.id_bsr = 1
) i
WHERE a.id_article = i.article_id_article
1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以了解可在“FROMSELECT l.qte,l.article\u id\u article”附近使用的正确语法
从3号线的ligne_出动l,bon'
试试这个代码。从后凝固中取出
UPDATE article a SET a.qte_art = (a.qte_art+(i.qte*1)) (
SELECT l.qte, l.article_id_article
FROM ligne_sortie l, bon_sortie b, article a
WHERE l.bon_sortie_id_sortie = b.id_bsr
AND l.article_id_article = a.id_article
AND b.id_bsr = 1
) i WHERE a.id_article = i.article_id_article
试试这个代码。从后凝固中取出
UPDATE article a SET a.qte_art = (a.qte_art+(i.qte*1)) (
SELECT l.qte, l.article_id_article
FROM ligne_sortie l, bon_sortie b, article a
WHERE l.bon_sortie_id_sortie = b.id_bsr
AND l.article_id_article = a.id_article
AND b.id_bsr = 1
) i WHERE a.id_article = i.article_id_article
您可以使用以下查询:
UPDATE
article a,
(
SELECT l.qte, l.article_id_article
FROM ligne_sortie l, bon_sortie b, article a
WHERE l.bon_sortie_id_sortie = b.id_bsr
AND l.article_id_article = a.id_article
AND b.id_bsr = 1
) i
SET a.qte_art = (a.qte_art+(i.qte*1))
WHERE a.id_article = i.article_id_article
填写列/数据的通用查询为:
UPDATE
table1 AS target,
(SELECT column1, column2 FROM table2) AS source
SET
target.column3 = source.column1
WHERE
target.column4 = source.column2
这称为多表语法,有关详细信息,请参阅。您可以使用以下查询:
UPDATE
article a,
(
SELECT l.qte, l.article_id_article
FROM ligne_sortie l, bon_sortie b, article a
WHERE l.bon_sortie_id_sortie = b.id_bsr
AND l.article_id_article = a.id_article
AND b.id_bsr = 1
) i
SET a.qte_art = (a.qte_art+(i.qte*1))
WHERE a.id_article = i.article_id_article
填写列/数据的通用查询为:
UPDATE
table1 AS target,
(SELECT column1, column2 FROM table2) AS source
SET
target.column3 = source.column1
WHERE
target.column4 = source.column2
这称为多表语法,有关详细信息,请参阅。您可以使用join语句进行更新,如下所示
update article a
join ligne_sortie l on l.article_id_article = a.id_article
join bon_sortie b on l.bon_sortie_id_sortie = b.id_bsr
set a.qte_art = (a.qte_art+(l.qte*1))
where b.id_bsr = 1
您可以使用join语句进行更新,如下所示
update article a
join ligne_sortie l on l.article_id_article = a.id_article
join bon_sortie b on l.bon_sortie_id_sortie = b.id_bsr
set a.qte_art = (a.qte_art+(l.qte*1))
where b.id_bsr = 1