【问题标题】:UPDATE from SELECT: Join Method [closed]来自 SELECT 的更新:加入方法 [关闭]
【发布时间】:2022-01-22 03:08:02
【问题描述】:

我正在使用这个

UPDATE stockout_details
SET 
stockout_details.chaloutinv=stockin_details.inv_cha
FROM stockout_details 
INNER JOIN stockin_details
ON stockin_details.marka = stockout_details.marka and stockin_details.purchi = stockout_details.purchi and 
stockin_details.chalan = stockout_details.chalan and stockin_details.room = stockout_details.room and
stockin_details.rack = stockout_details.rack 

错误是

UPDATE stockout_details
SET 
stockout_details.chaloutinv=stockin_details.inv_cha
FROM stockout_details 
INNER JOIN
'stockin_details'
ON stockin_details.marka = stockout_details.marka and stockin_details.purchi = stockout_details.purchi and 
stockin_details.chalan = stockout_details.chalan and stockin_details.room = stockout_details.room and
stockin_details.rack = stockout_details.rack;

MySQL 说:文档

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在“FROM stockout_details
附近使用正确的语法 内连接
'stockin_details'
ON stockin_details.mar...' 在第 4 行

【问题讨论】:

  • 重点是,你应该格式化你的帖子,Muhummad。 Stack Overflow 支持降价,您应该努力使您的问题对其他用户可读。
  • 您的表格位于 'string literal' 中。可能不应该那样做。
  • UPDATE ... SET .. FROM 不是有效的语法。见dev.mysql.com/doc/refman/8.0/en/update.html

标签: mysql sql


【解决方案1】:

使用 JOIN 进行更新应如下所示:

UPDATE T1,T2
INNER JOIN T2 ON T1.C1 = T2.C1
SET T1.C2 = T2.C2,
      T2.C3 = expr
WHERE condition

所以你不需要添加FROM table

【讨论】:

  • 当我添加此更新 stockout_details,stockin_details INNER JOIN stockin_details ON stockin_details.marka = stockout_details.marka 和 stockin_details.purchi = stockout_details.purchi 和 stockin_details.chalan = stockout_details.chalan 和 stockin_details.room = stockout_details。房间和 stockin_details.rack = stockout_details.rack SET stockout_details.chaloutinv=stockin_details.inv_cha
  • 错误是 Not unique table/alias: 'stockin_details'
  • 是的,这也是一个错误)使用带有表/列名称的反引号(`符号)
  • 亲爱的它不能正常工作你能写吗?
  • 试试这个UPDATE `stockout_details` SET `stockout_details`.`chaloutinv`=`stockin_details`.`inv_cha` INNER JOIN `stockin_details` ON `stockin_details`.`marka` = `stockout_details`.`marka` AND `stockin_details`.`purchi` = `stockout_details`.`purchi` AND `stockin_details`.`chalan` = `stockout_details`.`chalan` AND `stockin_details`.`room` = `stockout_details`.`room` AND `stockin_details`.`rack` = `stockout_details`.`rack`
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 2019-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多