我有两个查询要更新两个表:
第一张表
UPDATE user_info SET `location` = ".$locationid.", `looking_for` = ".$lookingfor." WHERE `user_info`.`user_id` = ".$infoid.";
第二张表
UPDATE user_personality SET `personality` = '".$changedescription."' WHERE `user_personality`.`user_info_id` = ".$infoid.";
我尝试使用相同的语句合并这两个查询。
UPDATE user_info, user_personality
SET user_info.location = ".$locationid.", user_info.`looking_for` = ".$lookingfor.", user_personality.personality = '".$changedescription."'
WHERE `user_info`.`user_id` = ".$infoid."
AND `user_personality`.`user_info_id` = ".$infoid."
我没有收到任何错误消息,但没有更新。
我做错了什么?
感谢。
答案 0 :(得分:0)
只是一个猜测......
"
UPDATE user_info i
JOIN user_personality p
ON p.user_info_id = i.user_id
SET i.location = $locationid
, i.looking_for = '$lookingfor'
, p.personality = '$changedescription'
WHERE i.user_id = $infoid;
";
答案 1 :(得分:0)
如果你在where子句中将2个表字段设置为彼此它应该有效,那么我相信你会将你的where子句改为:
popt, pcov = curve_fit(f,x,y)
MySQL肯定支持更新多个表,因此适用于多表select语句的where子句也适用于更新。