我的代码是
<?php
include('conn.php');
$insert=$membersdb->query("UPDATE members SET Username=properties.Username FROM members JOIN uidlist on members.Username=Properties.Username"); echo "Error : ".$membersdb->error."<br>";
if($insert){echo "Done !<br>";}else{echo "Not Done !<br>";
$insert2=$membersdb->query("UPDATE members SET Username=`uidlist.Username'"); echo "Error : ".$membersdb->error."<br>";
if($insert2){echo "Second Insert Done !<br>";}else{echo "Second Insert Also Not Done !<br>";}
$insert3=$membersdb->query("Update members Set Username =(Select uidlist.Username From uidlist) WHERE members.Name=uidlist.Name"); echo "Error : ".$membersdb->error."<br>";
if($insert3){echo "Third Insert Done !<br>";}else{echo "Third Insert Also Not Done !<br>";}
}
我正在尝试三个不同的查询,将
members
表的用户名替换为uidlist
表的用户名错误如下:
错误:SQL语法中有错误;请查看手册
对应于MySQL服务器版本,以便使用正确的语法
来自成员的“near”加入uidlist on
members.Username=Properties.Username'第1行未完成!
错误:“字段列表”中的未知列“uidlist.Username”秒
插入也没有完成!
错误:“where子句”第三次插入时出现未知列“uidlist.Name”
也没做!
最佳答案
正如您所注意到的,第一条语句的思想是正确的,尽管语法不正确。在MySQL中,join
子句在set
子句之前:
UPDATE members m
JOIN uidlist u on m.name = u.name
SET m.Username = u.Username