【问题标题】:How to see if mysql replace or insert my query [duplicate]如何查看mysql是否替换或插入我的查询[重复]
【发布时间】:2018-10-11 11:41:13
【问题描述】:

如果我有一个字段 1 作为主键的查询:

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

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

【问题讨论】:

标签: php mysql replace insert


【解决方案1】:

为了后代:

$rowCount = $stmt->rowCount();

如果 $rowCount == 1 是插入,如果 $rowCount == 2 是替换。

【讨论】:

    【解决方案2】:

    INSERT INTO AggregatedData (datenum,Timestamp) 值(“734152.979166667”,“2010-01-14 23:30:00.000”) 重复密钥更新 时间戳=VALUES(时间戳)

    要实现这种类型的任务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

    我想这会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-06
      • 1970-01-01
      • 2012-07-23
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      相关资源
      最近更新 更多