INSERT IGNORE在TRANSACTION中运行

时间:2019-05-27 07:10:34

标签: php mysqli transactions

我很困惑。 我有一个用PHP编写的cron作业,可将值插入表中。但是表中可能已经存在一些值。但是我们不确定他们是谁。所以我使用INSERT IGNORE INTO方法插入我的条目,如下所示,

$insertSql = "INSERT IGNORE INTO `my_procuts` (`product_id`, `category_id`) VALUES " . $valueString . ";";
$insertResult = mysqli_query($conn, $insertSql);
$affectedRows = mysqli_affected_rows($conn);

$ valueString是前一个for循环的输出。这些是要插入的值。该查询工作正常。值正在按预期插入。 现在, 我想向该插入添加一个TRANSACTION。所以我尝试这样,

mysqli_begin_transaction($conn, MYSQLI_TRANS_START_READ_ONLY);
$insertSql = "INSERT IGNORE INTO `my_procuts` (`product_id`, `category_id`) VALUES " . $valueString . ";";
$insertResult = mysqli_query($conn, $insertSql);
$affectedRows = mysqli_affected_rows($conn);
mysqli_commit($conn);

现在查询不起作用。 $ affectedRows始终给出-1结果。我可能提出了什么问题。 提前致谢。 :)

0 个答案:

没有答案