[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сформулировать запрос
Xes
Подскажите можно ли сформулировать запрос такой:

Необходимо в автоинкрементном поле найти все пустые индексы, которые появились в результате удаления записи.
Чтобы можно при добавлении новых записей при желании вручную прописать индекс записи.

В цикле без проблем а вот единичным запросом пожно получить все несуществующие индексы от 1 --- до последнего (помоему с 1 начинаеться автоинкрементное поле с добавко что оно положительное).

Дело в том что я собрался фотки объектов хранить в папках типа 0001 0002... 0023 елис запись была удалена то хотелось бы заюзать ее папку и скапирывать туда ноавые фотки. чтобы не улазить с созданием папок в безконечность ... а записей сответсвующих им не будет
----
Может кто лучше идею подсажет как организовать вывод определленых фоток на соответсвующих страницах.



Спустя 6 минут, 37 секунд (2.05.2011 - 12:17) waldicom написал(а):
Так лучше не делать. Теряется смысл автоинкрементных полей.

Спустя 2 минуты, 49 секунд (2.05.2011 - 12:19) walerus написал(а):
Ну а при удалении записи папку стереть не вариант ?, а папки называть не 0001, 0002 и так далее, а использовать md5(), для имен, таким образом, бесконечность будет исключена, и папки будут все с уникальными именами.

Либо вести файл-лог, что есть чего нету...

Спустя 37 секунд (2.05.2011 - 12:20) Xes написал(а):
Э чем это плохо например я удаляю запись из базы с индексом 23 теперь у меня в бд 22-24 а папка foto\0023\ осталась - зачаем она мне нужна если я могу спросить:
А есть свободные индексы он мне скажет 23. Я зобъю это в поле и нажму добавить новую запись, фотки в этой папке поменяю.

А так у меня дохлая папка будет висеть либо просто уу удалять тогда я описал все папки уйдут в какиенибуть 7543- ю нафиг мне это?

Спустя 2 минуты, 7 секунд (2.05.2011 - 12:22) Xes написал(а):
Цитата
а использовать md5()
- ша зачитаю что это типа генератор пятизначных чисел .. тобишь мне надо будет сгенерить имя папк создать ее.

Спустя 4 минуты, 49 секунд (2.05.2011 - 12:27) neadekvat написал(а):
Xes, первичный ключ не должен использоваться повторно. Точка. Это аксиома, нарушать ее нельзя.
Каталог, соответствующий первичному ключу, удаляй. А то, что у тебя там будет 8544, да хоть 1024833 - вот тебе не пофиг? Разве что держать столько каталогов в одном каталоге нельзя - файловая система напрягаться будет сильно.

Спустя 2 минуты, 27 секунд (2.05.2011 - 12:29) Xes написал(а):
<?php
$str = 'apple';

if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') {
echo "Would you like a green or red apple?";
exit;
}
?>

Вообще не догнал как это юзать но такие имена папок меня не устроят ))) @1f3870be274f6c49b3e31a0c6728957f'@

Спустя 11 минут, 49 секунд (2.05.2011 - 12:41) Xes написал(а):
Цитата
Xes, первичный ключ не должен использоваться повторно. Точка.

Чесно сказать. Я вот если посмотреть в экспортный файл базы данных не обноружил такого требования, единственное что я там увидел это то, что он должен быть уникален. Это я обеспечу.
Только единственное в конце таблицы пишется текущее максимальное значение инкрементного поля.

Ну хотя это мое скромное мнение связанное с отсутствие опыта...
Наверное на серьезных сайтах, действительно лучше так не делать.

Вощим я подумаю ... может еще кто че подскажет, а там решу.

Цитата
CREATE TABLE IF NOT EXISTS `comments` (
  `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `idhotel` smallint(5) unsigned DEFAULT NULL,
  `comdate` date DEFAULT NULL,
  `comok` tinyint(1) DEFAULT NULL,
  `comment` text,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;

--
-- Dumping data for table `comments`
--

INSERT INTO `comments` (`id`, `idhotel`, `comdate`, `comok`, `comment`) VALUES
(7, 2, '2011-05-10', 1, 'Еще коментарий . Тут пишу еще ченибуть. B Я тут еще добавил.'),
(8, 3, '2011-05-01', 1, 'Новый коментарий.'),
(9, 3, '2011-05-01', 1, 'ssssssssss  s ssdd fs sffe f e'),
(13, 3, '2011-05-01', 1, 'Пишо комент с &lt;&lt; Разными кодами &lt;br&gt; ; уще ко'),
(15, 3, '2011-05-01', 0, 'Пишо комент с &amp;lt;&amp;lt; Разными кодами &amp;lt;br&amp;gt; ; уще ковычки &amp;quot;  sds ds');

Спустя 4 минуты, 29 секунд (2.05.2011 - 12:46) neadekvat написал(а):
Цитата (Xes @ 2.05.2011 - 13:41)
может еще кто че подскажет, а там решу.

Если кто-то скажет, что "пробелы" в авто инкременте можно заполнять - плюнь ему в лицо.
Контакт и этот форум - они построены по единым основам проектирования.

Спустя 2 часа, 17 минут, 22 секунды (2.05.2011 - 15:03) Xes написал(а):
Ни кто в лицо не хочет )))
Буду делать тогда как советовали. Спасибо.
Быстрый ответ:

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