Я пытаюсь использовать запрос SQL, чтобы изменить некоторые поля в wp_usermeta и когда я ставлю этот фрагмент:синтаксиса MySQL показывает ошибку при обновлении профиля пользователя
UPDATE wp_usermeta
SET meta_value = IF("meta_key" = 'first_name', '{firstname}', IF("meta_key" = 'last_name', '{lastname}', "meta_value"))
WHERE user_id =
(SELECT "user_id" FROM
(SELECT MAX("user_id") AS "user_id"
FROM wp_usermeta) AS `reg`)
AND ("meta_key" = 'first_name'
OR "meta_key" = 'last_name')
SQL работает отлично. Но когда я хочу, чтобы добавить новый meta_key в этом фрагменте отображается сообщение об ошибке:
UPDATE wp_usermeta
SET meta_value = IF("meta_key" = 'first_name', '{firstname}', IF("meta_key" = 'last_name', '{lastname}', IF("meta_key" = 'telephone', '{phone}', "meta_value"))
WHERE user_id =
(SELECT "user_id" FROM
(SELECT MAX("user_id") AS "user_id"
FROM wp_usermeta) AS `reg`)
AND ("meta_key" = 'first_name'
OR "meta_key" = 'last_name'
OR "meta_key" = 'telephone')
Там есть ошибка - в вашем синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'WHERE
Пожалуйста, помогите мне решить эту проблему. Я просто начал работать с MySQL и не знаю многого.
Вы используете одинарные кавычки имена столбцов. Я считаю это типографской ошибкой и голосую за закрытие таких вопросов. –
изменено на двойные кавычки, но не помогло ... – Basil
Извините @GordonLinoff Linoff, пожалуйста, объясните, как я могу исправить мою типографскую ошибку в этом случае – Basil