Как создать таблицу, каким sql запросом, чтобы первое поле ID заполнялось автоматически? нужно что бы по порядку. К примеру будет таблица USERS: id name icq email password info status system ... Поле id должно запоняться автоматически по очереди начиная с единицы, т.е. при добавлении новой строки в таблицу айдишник проставляется автоматически. знаю что должна такая опция быть у базы данных. Пока обходился скриптом, который считывает в массив количество строк, потом к последнему элементу массива прибавляет единицу и вот следующий номер. Наверно через жо..у, но пока этого хватало.
CREATE TABLE `monitor`.`USERS` ( `id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `name` VARCHAR( 50 ) NULL , `icq` INT NOT NULL , `email` VARCHAR( 50 ) NULL , `password` VARCHAR( 32 ) NULL , `info` VARCHAR( 255 ) NULL , `status` TINYINT( 1 ) NOT NULL DEFAULT '0', `system` VARCHAR( 10 ) NOT NULL DEFAULT 'Linux'
проблемка с этим идентификатором автоматическим: ввел три тестовые строчки: 1, 2, 3... удаляю вторую строчку, т.е. остаются идентификаторы 1, 3. Вставляю еще одну строку и она становится 4, т.е. 1, 3, 4. Эмм... как сделать что бы база автоматически заполняла все предыдущие идентификаторы, а уж после заполнения пустых ячеек, продолжала нумерацию дальше? ну или хотя бы сброс счетчика как делать чисто для себя
Ну можно попробовать триггер написать какой-нибудь. Он же должен инкрементить и проверять наличие свободных идов. Но это бредок. Никогда не делал такое.