Неизвестный столбец в ошибке "список полей" в запросе MySQL Update

Я продолжаю получать ошибку MySQL # 1054 при попытке выполнить этот запрос на обновление:

UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow=`y`
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17

Вероятно, это синтаксическая ошибка, но я попытался использовать внутреннее соединение и другие изменения, но я продолжаю получать одно и то же сообщение:

Unknown column 'y' in 'field list' 

Ответ 1

Попробуйте использовать разные кавычки для "y", поскольку символ котировки идентификатора - это обратная сторона ( "`" ). В противном случае MySQL "думает", что вы указываете на столбец с именем "y".

См. также Документация MySQL 5

Ответ 2

Включить любую строку, которая будет передана серверу mysql внутри одинарных кавычек; например:.

$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "

Обратите внимание, что хотя запрос заключен между двойными кавычками, вы должны заключить любую строку в одинарные кавычки.

Ответ 3

Вы можете проверить свой выбор кавычек (используйте двойные/одинарные кавычки для значений, строк и т.д. и обратные ссылки для имен столбцов).

Поскольку вы хотите обновить таблицу master_user_profile, я бы рекомендовал вложенный запрос:

UPDATE
   master_user_profile
SET
   master_user_profile.fellow = 'y'
WHERE
   master_user_profile.user_id IN (
      SELECT tran_user_branch.user_id
      FROM tran_user_branch WHERE tran_user_branch.branch_id = 17);

Ответ 4

В моем случае это было вызвано невидимым конечным пространством в конце имени столбца. Просто проверьте, действительно ли вы используете "y" или "y".

Ответ 5

Во время работы над сборкой приложения .Net с использованием кода EF, я получил это сообщение об ошибке при попытке применить свою миграцию, где у меня был Sql("UPDATE tableName SET columnName = value"); выражение.

Оказывается, я неправильно написал columnName.

Ответ 6

Запрос типа thi также вызовет ошибку

select table1.id from table2

Если таблица указана в столбце select и не включена в предложение from.

Ответ 7

Я тоже получил ту же ошибку, проблема в моем случае, я включил имя столбца в предложение GROUP BY, и это вызвало эту ошибку. Так что убрал столбец из предложения GROUP BY и все заработало !!!

Ответ 8

Если это спящий режим и JPA. проверьте имя вашей указанной таблицы, и столбцы могут не совпадать