如何查看mysql是否替换或插入我的查询

时间:2018-10-11 11:41:13

标签: php mysql replace insert

如果我有一个查询,其中字段1是主键:

$rep = "Replace into table (field1,field2) values ('value1','value2')";
$stmt = $db->query($rep);

有没有办法判断mysql是插入行还是找到并替换了行?

2 个答案:

答案 0 :(得分:1)

对于后代:

$rowCount = $stmt->rowCount();

如果$ rowCount == 1,则为插入;如果$ rowCount == 2,则为替换。

答案 1 :(得分:0)

将INERT插入AggregatedData(datenum,Timestamp) 值(“ 734152.979166667”,“ 2010-01-14 23:30:00.000”) 重复键更新   Timestamp = VALUES(Timestamp)

要实现此类任务,mysql请向我们提供DUPLICATE KEY UPDATE

下面是示例,如果数据库中不存在记录,您将如何创建新记录,否则它将更新记录

$rep = "INSERT into table (primaryField,field2) values ('value1','value2') ON DUPLICATE KEY UPDATE primaryField=VALUES(primaryField)";
$stmt = $db->query($rep);
  

有关更多详细信息,请阅读此内容   https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html

我认为这会对您有所帮助。