我有2个mysql表,它们在数据库中通过descriptionId字段加入。
dataTable.dataId
dataTable.descriptionId
dataTable.userId
dataTable.value
descriptionLookupTable.descriptionId
descriptionLookupTable.descriptionName
在PHP中,我正在尝试更新字段:dataTable.value,dataTable.descriptionID = Gender
和dataTable.userId = $_SESSION['userId']
。
例如,在descriptionLookupTable中:descriptionLookupTable.descriptionId = 1
和descriptionLookupTable.descriptionName = Gender
。在dataTable中:dataTable.descriptionID = 1
。
我理解使用以下内容处理userID的部分:
"WHERE dataTable.userId = '" . $_SESSION['userId'] . "'";
但我无法弄清楚如何使用INNER JOIN。
以下查询不起作用。
$query = "UPDATE dataTable
INNER JOIN descriptionLookupTable
ON dataTable.descriptionId = descriptionLookupTable.descriptionId
AND descriptionLookupTable.descriptionName = Gender
SET Gender = '$gender' WHERE dataTable.user_id = '" . $_SESSION['user_id'] . "'";
错误消息为:Unknown column 'Gender' in 'field list'
。
答案 0 :(得分:1)
性别显然不是表格中的一列。其中一个字段必须命名为Gender才能更新其内容
尝试更新表格中的字段:):
SET dataTable.value = '$gender' WHERE dataTable.user_id = '" . $_SESSION['user_id'] . "'";
答案 1 :(得分:0)
descriptionLookupTable.descriptionName = Gender
在这种情况下, Gender
是字符串文字,因此您必须将其标记为
descriptionLookupTable.descriptionName = 'Gender'