如果我有一个以字段 1 为主键的查询:
$rep = "Replace into table (field1,field2) values ('value1','value2')";
$stmt = $db->query($rep);
有没有办法判断 mysql 是否插入了行,或者找到并替换了行?
对于后代:
$rowCount = $stmt->rowCount();
如果$rowCount == 1,则它是插入,如果$rowCount== 2,则它是替换。
插入到聚合数据 (datenum,Timestamp( 值 ("734152.979166667","2010-01-14 23:30:00.000"( 重复密钥更新时 时间戳=值(时间戳(
为了实现这种类型的任务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
我认为这会对你有所帮助。