gpt4 book ai didi

PHP:检查 MySQL 数据库中是否更新了任何值

转载 作者:行者123 更新时间:2023-11-28 23:53:15 25 4
gpt4 key购买 nike

我正在尝试创建一个在我的数据库中插入和更新行的语句,该语句在更新行时值发生变化时更改数据库中的值。

我不确定我的问题是否足够清楚,但这是我的代码(查看评论,这应该可以解决问题):

$stmProducts = $db->prepare("
INSERT INTO
products
SET
identifier = :identifier,
title = :title,
price = :price,
content = :content
ON DUPLICATE KEY UPDATE
title = :title,
price = :price,
content = :content
// If any values (title, price or content) has been changed while updating:
// updated = true
");

我已经用 CASE WHEN 尝试了一些东西,但是没有用,我没有我使用的确切代码,但它是这样的:

updated = CASE WHEN title != :title THEN true END 

我可能正在寻找完全错误的方向,但实现我想要实现的目标的最佳方式是什么?

最佳答案

你可以知道它检查 PDOStatement::rowCount()。对于插入,它将返回 1,而对于更新,它将返回 2。

检查 the documentation

With ON DUPLICATE KEY UPDATE, the affected-rows value per row is 1 if the row is inserted as a new row, and 2 if an existing row is updated.

关于PHP:检查 MySQL 数据库中是否更新了任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32235470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com