| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > [mysql] добавление записи |
| Автор: Agares 16.8.2008, 16:12 |
| Есть таблица, в ней запись, к примеру такая: id = 5524, name = 'test' Можно ли написать такой запрос, что если я добавляю запись с совпадающим id (к примеру, id = 5524, name= 'hello world' ) предыдущая запись удалилась? |
| Автор: skyboy 16.8.2008, 17:01 |
| может, "заменялась", а не "удалялась"? |
| Автор: solenko 17.8.2008, 12:40 |
| Если зпменять, то REPLACE. |
| Автор: yar 17.8.2008, 13:10 |
| Можно написать триггер на BEFORE INSERT, где проверять существует ли запись и удалять её. Или использовать http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html. Или же просто написать запрос с условием.. Как описано в дискуссии http://www.sqlrecipes.com/sql_questions_answers/insert_update_record_if_already_exists-6/ |
| Автор: solenko 17.8.2008, 13:42 |
| yar, зачем все эти сложности, если в mysql уже есть команда REPLACE, которая все это делает? |
| Автор: yar 17.8.2008, 13:51 |
| solenko, да, порой самое простое решение и есть самое правильное но вариантов много, мало ли, какой из в конкретной ситуации может оказаться предпочтительнее. |
| Автор: Agares 18.8.2008, 13:14 |
| Спасибо буду экперементировать |