获取我正在插入或更新数据库的数字的最佳方法是什么?我想弄清楚插入后最终的数量是什么:
$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);
答案 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。