[英]How to update 3 tables with INNER JOIN?
我有3张桌子,看起来像这样:
用户:
users_age:
users_desc:
现在,我有一个“编辑”表单,该表单使用INNER JOIN在ageID和descID而不是ID的位置显示相应的字符串列。
还有一个直接指向updateUser.php来更新数据的按钮。 我知道我可以使用以下方式更新名称:
$sql = "UPDATE users SET
Name = '$uName',
WHERE ID = '$uID'";
但是,当表单页面将字符串列发送到updateUser.php文件时,如何使用age_group / desc_text等效ID中的ageID / descID的ID更新USERS表中的ageID / descID(INTEGER值)列?
我希望我的解释不是很混乱!
如果表中的字符串是唯一的(应该是唯一的),则可以更新到SELECT语句的输出
$sql = "UPDATE users
SET ageID = (SELECT ageID FROM users_age WHERE age_group = '$uAgeString')
WHERE ID = '$uID'";
您可以执行与其他表类似的操作。
但是-最好从网页获取ID。 通常,您可以通过设置选项标签的value属性来做到这一点:
<select name='uAgeID'>
<option value='1'>Young</option>
<option value='2'>Middling</option>
<option value='3'>Old</option>
</select>
这样,您可以拥有一个更简单的SQL语句:
$sql = "UPDATE users
SET ageID = $uAgeString
WHERE ID = '$uID'";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.