检查数据是否正确插入

时间:2017-03-09 17:59:43

标签: 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();

然后我运行lastInsertId()以获取autoIncrement列的最后一个ID。

$lastId=$dbh->lastInsertId();

和rowCount()函数获取插入的行数(不关心重复项)

$numberOfNewRows=$dbh->rowCount();

现在我想从前一个插入查询中获取数据

$limitRangeStart=$lastId-$numberOfNewRows;


    $sql="select * from previusTable limit $limitRangeStart ,  $lastId ";
 $stmt = dbh->prepare($sql);

$stmt->execute();

所以我的问题是,最后一个查询是否总是返回先前插入的数据,因为使用了多插入方法? 是否有可能在那时可能运行的另一个插入查询将“中断”上一个查询中的多插入行?

0 个答案:

没有答案