У меня есть две таблицы: теги и таблица ссылок photos_tags. Я хочу добавить новый тег, поэтому я проверяю, есть ли этот тег в таблице тегов, и если нет, то вставляю его. Мои таблицы выглядят примерно так: tags(id, name), photos_tags(photos_id, tags_id). Теперь я попытался сделать это с помощью:
IF NOT EXISTS (SELECT * FROM tags WHERE name=*tagsName*)
INSERT INTO tags VALUES (NULL, *tagsName*); --NULL used for autonumbering
Я также пробовал:
INSERT INTO tags (
SELECT NULL, *tagsName*
WHERE NOT EXISTS (
SELECT * FROM tags
WHERE name=*tagsName*
)
);
Оба утверждения приводят к синтаксическим ошибкам:
- в первом утверждении рядом с
if
- во втором утверждении рядом с
select
Как должен выглядеть мой запрос?
*tagsName*
это недопустимо и должно выглядеть как'tagsName'
. Сначала я подумал, что ты просто так написал, но теперь я беспокоюсь, что ты ошибся. - person Andrius Naruševičius   schedule 03.06.2012