【发布时间】:2011-07-12 17:05:57
【问题描述】:
我创建了一个 MySQL 数据库,用户可以在其中通过 PHP 添加信息。每次用户添加信息时,我都想在数据库中为该条目分配一个唯一的 ID 号。我希望第一个数字是 10000。然后下一个条目应该是 10001,然后是 10002 等等...
我大致了解如何使用 PHP 完成此操作,但我正在寻找有关创建此类标识符的最直接方法的一些指导。
【问题讨论】:
标签: php mysql sql uniqueidentifier
我创建了一个 MySQL 数据库,用户可以在其中通过 PHP 添加信息。每次用户添加信息时,我都想在数据库中为该条目分配一个唯一的 ID 号。我希望第一个数字是 10000。然后下一个条目应该是 10001,然后是 10002 等等...
我大致了解如何使用 PHP 完成此操作,但我正在寻找有关创建此类标识符的最直接方法的一些指导。
【问题讨论】:
标签: php mysql sql uniqueidentifier
你会想要在 mysql 中使用 auto_increment。然后,您可以使用 mysql_insertid() 检索该 ID。
【讨论】:
@hookedonit 是正确的 - 你会想要使用 auto_increment。此外,您需要将起始计数设置为 10000:ALTER TABLE myTable AUTO_INCREMENT = 10000;
【讨论】:
确实没有必要指定从某个点开始的id。但是,如果您一心想要它,那么您可以使用它来设置它...
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 所述,您可以使用 php 函数 mysql_insert_id (http://www.php.net/manual/en/function.mysql-insert-id.php) 获取最后一个 mysql 插入的 id )。
你应该这样做!
【讨论】: