我有两个表,company_info
和comp_orders
我运行以下查询:
$sql = "Update s1 SET s1.Comp_Addr = s2.Comp_Addr
Where s1.Comp_Name=s2.Comp_Name AND
s1.ID_No='$id' FROM comp_orders s1 , company_info s2";
但它不起作用。返回的错误是
"您的SQL语法出错了;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近' FROM comp_orders s1,company_info s2'在第1行"
答案 0 :(得分:1)
你应该JOIN
这两个表如下:
Update comp_orders s1
INNER JOIN company_info s2 ON s1.Comp_Name=s2.Comp_Name
SET s1.Comp_Addr = s2.Comp_Addr
[Where ...] --optional perediate
答案 1 :(得分:1)
UPDATE comp_orders s1
INNER JOIN company_info s2 on s1.Comp_Name=s2.Comp_Name
SET s1.Comp_Addr = s2.Comp_Addr
WHERE s1.ID_No = '$id'
答案 2 :(得分:1)
您无法在FROM
update
查询应该是
$sql = "Update s1 SET s1.Comp_Addr = s2.Comp_Addr Where s1.Comp_Name=s2.Comp_Name AND s1.ID_No='$id'";
答案 3 :(得分:0)
您似乎错误地更新了查询。我认为以下内容应该有效:
$sql = "
Update comp_orders s1, company_info s2 SET
s1.Comp_Addr = s2.Comp_Addr
Where s1.Comp_Name=s2.Comp_Name AND s1.ID_No='$id'";
答案 4 :(得分:0)
$sql = "Update s1 SET s1.Comp_Addr = s2.Comp_Addr Where s1.Comp_Name=s2.Comp_Name AND s1.ID_No='$id' FROM comp_orders.s1 , company_info.s2";
试试这个,你错过了点......
还有其他错误 - 查找updates
答案 5 :(得分:0)
UPDATE … FROM
?这是哪种SQL方言?我以前从未见过它。
MySQL FROM
中没有UPDATE
条款:http://dev.mysql.com/doc/refman/5.0/en/update.html
答案 6 :(得分:0)
如果您尝试以下操作该怎么办:
UPDATE comp_orders s1, company_info s2
SET s1.Comp_Addr = s2.Comp_Addr
WHERE s1.Comp_Name = s2.Comp_Name
AND s1.ID_No='$id'
答案 7 :(得分:0)
TRY
UPDATE comp_orders s1
INNER JOIN company_info s2 USING(`Comp_Name`)
SET s1.Comp_Addr = s2.Comp_Addr
WHERE s1.ID_No = '$id'
或
UPDATE comp_orders s1 company_info s2
SET s1.Comp_Addr = s2.Comp_Addr
WHERE s1.ID_No='$id'