Mysql 检查数据是否正确插入
我试图从上一个多重插入查询中获取插入的数据,以便验证写入的数据。 我使用pdo来执行查询Mysql 检查数据是否正确插入,mysql,pdo,locking,verify,Mysql,Pdo,Locking,Verify,我试图从上一个多重插入查询中获取插入的数据,以便验证写入的数据。 我使用pdo来执行查询 $sql="insert into tableName (col1,col2) values (val1,val2),(val4,val5),(val7,val8) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2)"; $stmt = dbh->prepare($sql); $stmt->execute(); 然后我运行l
$sql="insert into tableName (col1,col2) values (val1,val2),(val4,val5),(val7,val8) ON DUPLICATE KEY UPDATE Col1=VALUES(Col1),Col2=VALUES(Col2)";
$stmt = dbh->prepare($sql);
$stmt->execute();
然后我运行lastInsertId()
,以获取自动增量列的最后一个id
$lastId=$dbh->lastInsertId();
和rowCount()函数来获取插入行的数量(不关心重复的行)
现在我想从前面的insert查询中获取数据
$limitRangeStart=$lastId-$numberOfNewRows;
$sql="select * from previusTable limit $limitRangeStart , $lastId ";
$stmt = dbh->prepare($sql);
$stmt->execute();
所以我的问题是,由于使用了多重插入方法,最后一个查询是否总是返回先前插入的查询的数据?
是否有可能在当时运行的另一个insert查询会从上一个查询中“断开”多个insert行?如果您已经有了id,请取消限制,只需使用该id检索数据。。简单的豌豆。如果使用id,则两次查询之间运行的次数无关紧要。如果您已经有id,请摆脱限制,只需使用该id检索数据。。简单的豌豆。如果使用id,则在两个查询之间运行多少查询都无关紧要。。
$limitRangeStart=$lastId-$numberOfNewRows;
$sql="select * from previusTable limit $limitRangeStart , $lastId ";
$stmt = dbh->prepare($sql);
$stmt->execute();