[英]How to update one table from another table?
我想将行从一个表更新到另一个表,两者都具有相同的结构,我使用此查询
UPDATE bh_master_ritesh_stock AS st
SET st.tag_uid = apprv.tag_uid ,st.stk_id = apprv.stk_id
FROM bh_stock_approval AS apprv
WHERE st.stock_id = apprv.stock_id
但它给了我这个错误,
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near
'FROM bh_stock_approval as apprv WHERE st.stock_id = apprv.stock_id' at line 3
我的错在哪里? 或者我使用错误的查询?
试试这段代码:
UPDATE bh_master_ritesh_stock AS st,bh_stock_approval AS apprv
SET st.tag_uid = apprv.tag_uid ,st.stk_id = apprv.stk_id
WHERE st.stock_id = apprv.stock_id
因为UPDATE
不能使用From
子句
您的语法完全错误,“FROM”是意外的:
UPDATE bh_master_ritesh_stock AS st,bh_stock_approval AS apprv
SET st.tag_uid = apprv.tag_uid ,st.stk_id = apprv.stk_id
WHERE st.stock_id = apprv.stock_id
对于涉及更多表的其他示例,请查看此处 。
尝试这个。
UPDATE bh_master_ritesh_stock st
INNER JOIN bh_stock_approval apprv on
st.stock_id = apprv.stock_id
SET
st.tag_uid = apprv.tag_uid ,st.stk_id = apprv.stk_id
UPDATE bh_master_ritesh_stock A
SET A.tag_uid, A.stk_id =( select B.tag_uid, B.stk_id
FROM bh_stock_approval B WHERE A.stock_id = B.stock_id)
WHERE EXISTS(SELECT '1' FROM bh_stock_approval B1 WHERE A.stock_id =B1.stock_id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.