У меня есть две таблицы mysql, которые объединены в базе данных через поле descriptionId.Как использовать INNER JOIN в инструкции UPDATE?
dataTable.dataId
dataTable.descriptionId
dataTable.userId
dataTable.value
descriptionLookupTable.descriptionId
descriptionLookupTable.descriptionName
В PHP я пытаюсь обновить поле: dataTable.value, когда dataTable.descriptionID = Gender
и dataTable.userId = $_SESSION['userId']
.
Например, в описанииLookupTable: descriptionLookupTable.descriptionId = 1
и descriptionLookupTable.descriptionName = Gender
. И в dataTable: dataTable.descriptionID = 1
.
Я понимаю ту часть, которая имеет дело с идентификатором пользователя, используя:
"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'
.
http://stackoverflow.com/ Вопросы/8057565/mysql-update-statement-inner-join-tables –
Попробуйте это 'SET dataTable.Gender = '...'' –
Спасибо, но когда я попробую, я получаю сообщение об ошибке msg: Неизвестный столбец 'dataTable.Gender' в 'список полей – user2646006