假设我想创建一个行(如果它不存在)或者增加一个计数。我在事务中的单独查询中执行它(可能与其他查询和应用程序逻辑一起)
BEGIN TRANSACTION
...
SELECT COUNT(id) AS rows FROM tbl;
...
# if rows > 0
INSERT INTO tbl ...
# else
UPDATE tbl ...
...
COMMIT
由于干扰正确,可以将多行插入数据库吗?如果我使用INSERT ... ON DUPLICATE KEY UPDATE
怎么办?我可以确定条件是否成立?