我想将数据插入到我的网站订单的mysql数据库中。
所以我将用户名和自动增量订单号存储在数据库中。
问题是,我如何再次提取订单号。
我试过这个:
SELECT ordernumber FROM transactions WHERE.....
如何完成这个?
答案 0 :(得分:1)
你可以使用
SELECT LAST_INSERT_ID();
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
的更多信息请注意,在执行SELECT或SET等其他SQL语句后,无法使用C API函数检索LAST_INSERT_ID(expr)的值。因此,当您执行INSERT语句时,就在此之后
SELECT LAST_INSERT_ID();
它可以工作但是当中间有其他语句时它将返回0并且获得它的唯一方法如下所述。
另一种选择是对表进行DESC排序并得到第一个数字
SELECT ordernumber FROM transactions ORDER By ordernumber DESC LIMIT 1;
答案 1 :(得分:0)
只需使用mysql_insert_id函数,它将为您提供最后插入的ID。
答案 2 :(得分:0)
在插入查询执行代码
之后调用mysql_insert_id()函数答案 3 :(得分:0)
这取决于您使用什么方法将数据插入数据库。
对于mysql_ *函数,可以使用mysql_insert_id()函数。
对于PDO使用和mysqli_ *,请参阅以下答案:What is equivalent of mysql_insert_id(); using prepared statement?
答案 4 :(得分:0)
也可以使用LAST_INSERT_ID()或mysql_insert_id
答案 5 :(得分:0)
$lastOrderNumber = mysql_insert_id();
$sql = "SELECT ordernumber FROM transactions WHERE ordernumber = $lastOrderNumber;";
答案 6 :(得分:0)
如其他答案中所述,您应该使用mysql_insert_id。
例如,你可以使用它:
$sql = "INSERT INTO table VALUES ('username')";
$result = mysql_query($sql);
echo "ID of last inserted record is: " . mysql_insert_id();
以上将输出:
ID of last inserted record is: (The ordernumber here)
有关mysql_insert_id的更多信息,您可以查看here.
答案 7 :(得分:0)
有一个函数可以知道当前连接中插入的最后一个id
例如在inster数据之后你可以得到如下
mysql_query('INSERT INTO transactions VALUES(\'b\')');
$id = mysql_insert_id();
答案 8 :(得分:0)
另一种方法是运行查询
select max(ordernumber) as lastordernumber from transactions;
这里,lastordernumber是期望值。