作者:手机用户2502927615 | 来源:互联网 | 2022-12-02 16:35
以下情况。
我们有2个脚本,都插入到表中,然后lastInsertId()
用于从自动增量列中获取值。
如果这两个脚本是并行执行的,我们确定它们不会弄乱结果吗?
实时:
时间1:脚本1->插入。(创建的ID = 1)
时间1:脚本2->插入。(创建的ID = 2)
(数据库可能使用锁/信号量来处理此问题)
Q1。时间2:脚本2-> lastInsertId()返回1还是2?它是确定性的吗?
Q2。那么顺序插入呢?
script.php
$statement1->insert('john'); // id = 1
$statement2->insert('mary'); // id = 2
echo $statement1->lastInsertId();
// is it 1 or 2? Is this also deterministic?
Madhuri Pate..
5
是的,它是可靠的。
如果您认为一个表每秒将有成百上千的插入,请考虑不要使用索引或使用最少数量的索引。如果是MySQL,则偏爱MyISAM表。
就你而言
Q1。时间2:脚本2-> lastInsertId()返回1还是2?它是确定性的吗?
返回第二个查询的ID。
Q2。那么顺序插入呢?
您必须确保在插入查询之后询问lastInsertId。
希望对您有帮助。
1> Madhuri Pate..:
是的,它是可靠的。
如果您认为一个表每秒将有成百上千的插入,请考虑不要使用索引或使用最少数量的索引。如果是MySQL,则偏爱MyISAM表。
就你而言
Q1。时间2:脚本2-> lastInsertId()返回1还是2?它是确定性的吗?
返回第二个查询的ID。
Q2。那么顺序插入呢?
您必须确保在插入查询之后询问lastInsertId。
希望对您有帮助。