【发布时间】:2016-02-19 22:29:17
【问题描述】:
我有一个脚本,我已经设置了一个 CRON,它通过 JSON (cURL) 从第 3 方服务器获取值
现在每次 cron 运行时都会插入一条全新的记录。导致重复,并导致我手动删除重复。
我将如何防止重复,只更新丢失的信息或与新 $VAR 值不同的信息?
我想做的可以这样表达:IF old value is NOT new value use new value else use old value;
if ($stmt->num_rows !== 1) {
if ($insert_stmt = $mysqli->prepare("
INSERT INTO members (
start_date
)
VALUES (?)"))
{
$insert_stmt->bind_param('s',
$StartDate,
);
if (! $insert_stmt->execute()) { echo ''; }
}
}
}
【问题讨论】:
-
您是否尝试过 INSERT ... ON DUPLICATE KEY UPDATE dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html
-
是的。您不能使用 VALUE 执行 Insert ... ON DUPLICATE key UPDATE
-
@MyWay - 他需要在
INSERT语句中包含PRIMARY KEY(或至少一个UNIQUE键) - 我猜还不是这样, -
@MarkusWMahlberg 哈哈