2015-10-01 4 views
0

Я застрял в запросе update. Я работаю над регистрационной формой, если, если подтвердить, что ссылка на почту была перенаправлена ​​на сайт, обновите строку запроса и обновите строку с подтверждением.Синтаксическая ошибка при обновлении при использовании where.

Вот сообщение об ошибке:

# 1064 - У Вас есть ошибка в вашем SQL синтаксиса; в руководстве, соответствует версии сервера MariaDB для корректного синтаксиса использовать возле «„Confirm“SET» пользователей = „1“ WHERE „com_code“ = „732aabcb4ad6a03b51e0a55aab998726“»в строке 1

Пожалуйста, проверьте, где мой синтаксис неверен:

UPDATE 'users' 
SET 'confirm'='1' 
WHERE 'com_code'='732aabcb4ad6a03b51e0a55aab998726'; 

Спасибо!

+2

Одиночные кавычки предназначены для строковых литералов, а не идентификаторов ... – jarlh

ответ

0

Вам не нужно ставить confirm, users и com_code внутри цитаты, использовать это:

UPDATE users 
SET confirm ='1' 
WHERE com_code='732aabcb4ad6a03b51e0a55aab998726'; 
4

Указывать идентификаторы использовать кавычку `Identifier Names

Идентификаторы могут быть указаны с использованием характер одиночной обратной кавычки -`. Котировка необязательна для идентификаторов, которые не содержат специальных символов, или зарезервированное слово. Если флаг ANSI_QUOTES sql_mode установлен, двойные кавычки (") также могут быть использованы для цитирования идентификаторов.

UPDATE `users` 
SET `confirm`='1' 
WHERE `com_code`='732aabcb4ad6a03b51e0a55aab998726'; 

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

UPDATE users 
SET confirm ='1' 
WHERE com_code='732aabcb4ad6a03b51e0a55aab998726'; 
+0

Спасибо @ lad2025, его работа. пожалуйста, объясните, где я ошибаюсь –

+0

@JaswinderKaur 'пользователь' является строковым литералом, а операторы UPDATE хотят идентификатор – lad2025

+0

ok спасибо большое –