|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
maxipub |
|
||||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Добрый день!
Есть таблица:
Данные вставляются так:
Вопрос в том, как корректней избежать ошибки Duplicate entry при попытке вставить существующую val? Если такая запись уже есть в базе - ничего менять не надо. Проверять ее существование перед вставкой не очень воодушевляет, т.к. паралельное выполнение другой копии скрипта в теории вполне может вклиниться между этими запросами. Пока писал, пришла идея поставить что-то типа ON DUPLICATE KEY UPDATE id=id но может есть более корректное решение? |
||||
|
|||||
MoLeX |
|
|||
Местный пингвин Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 7 Всего: 140 |
Конечно есть, отдать бразды правления СУБД
-------------------- Amazing |
|||
|
||||
maxipub |
|
|||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
Тьфу ты, точно!
|
|||
|
||||
Gromdron |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.9.2006 Репутация: нет Всего: 1 |
А зачем вообще тогда указывать это поле если оно инкрементное ?
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Gromdron, Там еще и val уникальный, вроде как. Правда отсутствие приватного ключа несколько режет глаз.
Хотел бы я посмотреть как справится такая база со вставкой значений с ID из одной стоки и VAL из другой при ignore. Не грохнется? Вставится? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
maxipub |
|
|||
Опытный Профиль Группа: Участник Сообщений: 517 Регистрация: 22.10.2009 Репутация: нет Всего: 1 |
||||
|
||||
ksnk |
|
|||
прохожий Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
maxipub PRIMARY, извиняюсь.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
baldina |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
по-хорошему надо проверять, и ничего страшного нет. тем боле вам наверняка понадобится id вставленной или существующей записи
в теории если вы не захотите, то никто не вклинится. используйте транзакции, блокировку таблицы etc |
|||
|
||||
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |