获取插入或更新到表中的数字

时间:2016-12-26 19:08:05

标签: mysql

获取我正在插入或更新数据库的数字的最佳方法是什么?我想弄清楚插入后最终的数量是什么:

$pdo = $db->prepare('INSERT INTO dailies (day, count) VALUES (:day, 1) ON DUPLICATE KEY UPDATE count = count+1');
$pdo->execute(array(':day'=>date('z')));

我正在尝试抓取,但它不起作用。我猜是因为这是插入或更新而不是选择。

$fetch = $pdo->fetch(PDO::FETCH_ASSOC);

1 个答案:

答案 0 :(得分:1)

您可以使用用户变量执行以下操作:

INSERT INTO dailies (day, count) VALUES (:day, 1) ON DUPLICATE KEY UPDATE count = (@new_count = count+1)

然后

SELECT @new_count

如果插入了记录,@new_count将包含您在更新中设置的值。否则它将返回NULL。