我的代码是
<?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服务器版本,以便使用正确的语法 靠近&#39; FROM成员加入uidlist members.Username = Properties.Username&#39;第1行未完成!
错误:未知栏&#39; uidlist.Username&#39;在&#39;字段列表&#39;第二 插入也不完成!
错误:未知栏&#39; uidlist.Name&#39;在&#39; where子句&#39;第三次插入 还没完成!
答案 0 :(得分:1)
第一个语句有正确的想法,尽管语法不正确,正如您所注意到的那样。在MySQL中,join
子句位于set
子句之前:
UPDATE members m
JOIN uidlist u on m.name = u.name
SET m.Username = u.Username
答案 1 :(得分:1)
更新语法没有 FROM ,请参阅任何网站以供参考。
`uidlist.Username'这不正确你应该使用select语句。
这是一个简单的错误。您的列名是 uidlist.username 而不是 uidlist.Name