0

我有一张简单的桌子

CREATE TABLE `keys` (
`IDkey` int NOT NULL auto_increment,
`username` varchar(50) NOT NULL, 
PRIMARY KEY  (`IDkey`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

并在用户使用我的 webapp 调用时向他们提供递增的整数键“IDkey”。我还将他们的用户名存储在表中。

我有两个问题我坚持。

第一个问题:目前我正在执行以下操作以给出密钥,有没有办法将其组合成一个查询?

INSERT INTO keys VALUES (NULL, '$username');
SELECT IDkey FROM keys WHERE username='$username';

第二个问题:密钥过期,因此同一用户可能会返回新密钥,但这会导致问题,因为他们的用户名已经在数据库中。有没有办法编写我的 SELECT 查询,以便返回该用户的最新记录?

4

2 回答 2

2

如果您正在使用PDO,请查看PDO::lastInsertId()

如果您正在使用mysqli,请查看mysqli::$insert_id

如果您正在使用mysql,请将您的代码升级为使用PDOmysqli。;-) (但说真的,你可以用mysql_insert_id())。

于 2012-10-08T02:26:19.600 回答
1

插入此记录后立即调用此函数 mysql_insert_id()。它将为您提供最后插入的记录的 id。

于 2012-10-08T02:27:57.807 回答