[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Говнокод
Страницы: 1, 2, 3, 4, 5
Ron
Цитата (Эли4ка @ 5.05.2018 - 20:43)
А если сделать не константным, сильно это усложнит задачу?

Даже не знаю как ответить. Обычно формулируется задача, затем под нее подбирается решение. Я так понимаю изменились условия задачи, ну так озвучь их.
Эли4ка
Рон, задача такая же, как и была изначально. Просто лично для себя хочу попробовать решить без использования временных таблиц. Возможно ли это?
Эли4ка
WHERE NOT EXISTS смотрю
Эли4ка
INSERT INTO `tags` (title) 
SELECT 'my_tags' FROM `tags`
WHERE NOT EXISTS
(SELECT title FROM `tags` WHERE title='my_tags') LIMIT 1;

Знаю, что запрос будет медленнее,так как тут 2 селекта сначала, но зато без временной таблицы.
Как решить без временной таблицы и с джоинами пока не додумалась. увы :( можете подсказать, если не трудно, конечно :rolleyes:
Эли4ка
Хотя можно было и с

REPLACE INTO `tags` SET title='тут уже существующий тег'

Но решение крайне глупое :(
Ron
Эли4ка, ну объяви UNIQUE поле title. Тогда:
INSERT INTO tags (title) VALUES ('tag1'),('tag2'),('tag3') ON DUPLICATE KEY UPDATE title=title;

Такая запись равносильна IGNORE, потому что UPDATE на то же самое значение фактически не происходит.

Вторым запросом вставить недостающие ID тэгов в линковочную таблицу. Комбинировать последний запрос из того решения с подзапросом SELECT ... FROM tags LEFT JOIN ... WHERE title IN (...)

Правильно?
Эли4ка
Думаю,да. Сейчас однозначного ответа нет, так как еще не проверила.
Спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.