|
|
|
|
|
для: tolyan
(11.05.2010 в 00:03)
| | Так что, такой запрос неосуществим? | |
|
|
|
|
|
|
|
для: Trianon
(10.05.2010 в 23:58)
| | В том-то и проблема, собственно.
Поменять структуру БД пока возможности нет... | |
|
|
|
|
|
|
|
для: tolyan
(10.05.2010 в 23:54)
| | обновит конечно.
Но запрос INSERT ... ON DUPLICATE KEY UPDATE - идеально подходящий к базовой проблеме - применить уже не удастся.
>Ересь или нет - это другой вопрос.
Оно конечно, да... Но вот ереси я тут не хочу. И там тоже. | |
|
|
|
|
|
|
|
для: Trianon
(10.05.2010 в 23:50)
| | Ересь или нет - это другой вопрос.
Ксати, если условию будет соответствовать несколько записей, разве MySQL не обновит их все? | |
|
|
|
|
|
|
|
для: tolyan
(10.05.2010 в 23:46)
| | >А что тут "абы как"?
>Если запись, в которой поле_1=значение_1 и поле_2=значение_2 существует, то обновить. Если нет, то добавить.
>На мой взгляд всё чётко.
Если запись в которой поле поле_1=значение_1 и поле_2=значение_2 выбирается для целевого обновления, то (поле_1, поле_2) фактически является ключом. А ключ в определяющей таблице уникален по определению. Тем более, если запись собираются добавлять.
>Можно добавить к условию что-то наподобие LIMIT 1, если записей таких будет несколько.
А это уже ересь мерзкая. | |
|
|
|
|
|
|
|
для: Trianon
(10.05.2010 в 17:17)
| | А что тут "абы как"?
Если запись, в которой поле_1=значение_1 и поле_2=значение_2 существует, то обновить. Если нет, то добавить.
На мой взгляд всё чётко.
Можно добавить к условию что-то наподобие LIMIT 1, если записей таких будет несколько.
PS: Уникальный идентификатор у всех записей есть, но поиск по нему не производится. | |
|
|
|
|
|
|
|
для: tolyan
(10.05.2010 в 17:00)
| | SQL (как, впрочем, и любой другой алгоритмический инструмент) не решает задачи в стиле "хотя бы чего-нибудь" .
Задача должна быть определена точно, а не абы как.
Должно произойти что-то с хотя бы одним - определитесь, с каким именно одним. | |
|
|
|
|
|
|
|
для: Trianon
(10.05.2010 в 02:37)
| | Даже в этом случае он не будет уникальным. Может быть дублирующая запись. Важно, чтобы запрос заменил хотя бы одну. | |
|
|
|
|
|
|
|
для: tolyan
(09.05.2010 в 21:27)
| | можно добавить составной уникальный ключ - на двух полях. | |
|
|
|
|
|
|
| Здравствуйте.
Возможно ли как-нибудь сделать запрос такого типа:
Если запись существует, то UPDATE. Иначе - INSERT.
PS: Уникального ключа, на который можно полагаться в данном случае нет. Проверка существования записи проводится одновременно по двум неуникальным полям (т.е. существующей считаем запись, у которой первое и второе поле совпадает с той записью, которую мы собираемся добавить).
Спасибо. | |
|
|
|
|