Нужна помощь в назначении идентификационного номера записи MySQL - PullRequest
2 голосов
/ 12 июля 2011

Я создал базу данных MySQL, в которую пользователи добавляют информацию через PHP. Каждый раз, когда пользователь добавляет информацию, я хочу присвоить этой записи в базе данных уникальный идентификационный номер. Я хотел бы, чтобы первое число было 10000. Затем следующая запись должна быть 10001, затем 10002 и т. Д. *

У меня есть общее представление о том, как это можно сделать с помощью PHP, но я ищу некоторые рекомендации относительно наиболее прямого способа создания идентификатора этого типа.

Ответы [ 3 ]

4 голосов
/ 12 июля 2011

вы хотели бы использовать auto_increment с mysql. затем вы можете использовать mysql_insertid (), чтобы получить этот идентификатор.

1 голос
/ 12 июля 2011

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

ALTER TABLE tbl AUTO_INCREMENT = 100;

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

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
) ENGINE=MyISAM;

INSERT INTO animals (name) VALUES
    ('dog'),('cat'),('penguin'),
    ('lax'),('whale'),('ostrich');

Ссылка: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

Кроме того, как указано выше @hookedonit, вы можете получить идентификатор последней вставки mysql с помощью функции php mysql_insert_id (http://www.php.net/manual/en/function.mysql-insert-id.php).

Это должно сделать тебя!

1 голос
/ 12 июля 2011

@ hookedonit правильный - вы захотите использовать auto_increment.Кроме того, вам нужно установить начальный счет на 10000: ALTER TABLE myTable AUTO_INCREMENT = 10000;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...