十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用 PHP mysql_insert_id() 函数
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:空间域名、网络空间、营销软件、网站建设、承德网站维护、网站推广。
定义和用法
mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID。
如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0。
语法
mysql_insert_id(connection)
例子
?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("test_db",$con);
$sql = "INSERT INTO person VALUES ('Carter','Thomas','Beijing')";
$result = mysql_query($sql,$con);
echo "ID of last inserted record is: " . mysql_insert_id();
mysql_close($con);
?
很多时候数据库中表的主键都是自增id,
而在连续插入数据时,需要前一条的自增id时候,可以使用PHP中的
mysql_insert_id();函数
如果我的回答没能帮助您,请继续追问。
您也可以向我们团队发出请求,
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn-connect_error) {
die("Connection failed: " . $conn-connect_error);
}
// sql to create table
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
if ($conn-query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "Error creating table: " . $conn-error;
}
$conn-close();
数据库问题,插入数据之后怎么获取此数据的自增ID
pgsql和oracle是插入时即可返回插入行的所有信息,包括但不限于自增id。mysql这垃圾实现不了这种原子操作才搞出个last_insert_id这个东西
在数据库里选择你这张表里的id值属性,并修改为自增量就ok了。id是不能为0的,好好看下数据库相关的书。【望采纳】
如果是固定以10开头,那么可以不要修改数据库的自增ID,新增一个编号ID字段,这个编号ID的格式是:'10'(你定义的编号格式)+自增ID,这样你就能随意变换了。每次插入一条数据成功后,你是可以获取到当前插入的ID的,取到这个ID,然后组合重新更新数据库即可。
希望对你有所帮助~