|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Поиск несуществующего значения. |
|
MySQL - Поиск несуществующего значения.
|
Вредитель Сообщения: 460 |
Профиль | Отправить PM | Цитировать Есть два скрипта которые работают с одной базой, и оба добавляют в нее записи. Точнее один - многопользовательский сервер. Он для скорости работы сначала делает запрос типа "SELECT MAX(id)", а потом INSERT, но между запросами проходит достаточно много времени и они со вторым скриптом бывает портят данные. Эти записи удаляются и остаются "дыры" в числовом ряду.
Можно ли найти эту "дыру" и записать данные в нее? |
|
Отправлено: 09:45, 04-06-2008 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать DedAlex,
А может дать юазе самой об этом заботиться и воспользоваться полем, в котором автоматически будут генерироваться ID? стать для размышления |
------- Отправлено: 09:53, 04-06-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Вредитель Сообщения: 460
|
Профиль | Отправить PM | Цитировать vadimiron, переписать сервер довольно проблематично, там эта вставка идет в нескольких местах. Он создавался для монопольного доступа к базе и не преполагает совместной работы (на запись) с другими программами. Вариант с блокированием базы (LOCK), тоже не помогает.
|
------- Отправлено: 10:27, 04-06-2008 | #3 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Если "переписать сервер довольно проблематично", значит есть желание заполнять "дыры" исключительно вторым скриптом?
Как вариант - создать таблицу-пул пропусков и переписать второй скрипт, чтобы брал id оттуда. Красивого (быстрого) решения найти имеющиеся пропуски нет, а на будущее надо так же переписать процедуру которая удаляет кривые записи, чтобы информация о них попадала в пул. |
Отправлено: 11:21, 04-06-2008 | #4 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать DedAlex,
Вообще можно, конечно, скриптом вытаскивать все значения и циклом проверять пустые значение, но естественно это не эффективно. Я тоже за вариант, который предложит Busla |
|
------- Отправлено: 11:45, 04-06-2008 | #5 |
Вредитель Сообщения: 460
|
Профиль | Отправить PM | Цитировать Цитата Busla:
Цитата Busla:
|
||
------- Отправлено: 12:51, 04-06-2008 | #6 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать DedAlex, а у вас удалением кривых записей занимается основной серверный скрипт? - он разве в состоянии делать это корректно? - как я понял из описания, для него это - совершенно нештатная ситуация.
|
Отправлено: 14:37, 04-06-2008 | #7 |
Вредитель Сообщения: 460
|
Профиль | Отправить PM | Цитировать Цитата Busla:
|
|
------- Отправлено: 15:13, 04-06-2008 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Удаление несуществующего Контроллера домена | DarkMaximus | Microsoft Windows NT/2000/2003 | 43 | 19-08-2013 10:03 | |
Удаление несуществующего Exchange сервера... | Lazy caT | Microsoft Exchange Server | 5 | 15-01-2010 13:14 | |
Загрузка - [решено] При входе в систему каждый раз появляется окно Свойства несуществующего приложения | set113 | Microsoft Windows Vista | 1 | 20-09-2009 01:17 | |
Значения параметров | h00ligan | Автоматическая установка Windows 2000/XP/2003 | 1 | 21-06-2005 12:23 | |
Значения абривеатур | Trojn | Хочу все знать | 11 | 21-05-2003 23:58 |
|