2015-12-15 5 views
0

Я пытаюсь написать основной запрос, который изменяет «тип сообщения» для любых сообщений, содержащих слово «релизы» в заголовке сообщения.Основная синтаксическая ошибка SQl

В запросе, который я написал, появляется синтаксическая ошибка, и я не уверен, где я ошибся.

UPDATE TABLE wp_posts SET post_type = "release" WHERE post_title = "%RELEASE%"; 
+1

В SQL двойных кавычках предназначены для разграниченных идентификаторов (например, "имя_столбец"). Используйте одинарные кавычки для строковых литералов. Также сделайте 'LIKE '% RELEASE%''. – jarlh

ответ

1

Изменить запрос:

ошибка
UPDATE wp_posts 
SET post_type = 'release' 
WHERE post_title LIKE '%release%'; 

Синтаксис происходит от дополнительного "TABLE" ключевое слово, которое не требуется.

+0

Потрясающе! Такая простая небольшая ошибка. Спасибо. – shanDB

1
UPDATE wp_posts SET post_type = 'release' WHERE CHARINDEX('RELEASE', post_title) > 0 

ИЛИ

UPDATE wp_posts SET post_type = 'release' WHERE post_title LIKE '%RELEASE%' 
+0

Дайте некоторое объяснение вместе с вашим ответом, это поможет OP. – Haris

+0

Спасибо за вклад. Хотя я должен признать, что я уже пробовал ответ, опубликованный до вас. Так что пока это не проверено мной. – shanDB

+0

Извините @ Харис, я новичок в этом :). Условием первого обновления является использование CHARINDEX (text_to_find, column_to_search_in), и он возвращает int (позиция, в которой он находит text_to_find в тексте от column_to_search_in). Второе обновление использует LIKE (когда я писал это, Radu Gheorghiu уже ответил. –

Смежные вопросы