检查值是否存在的最有效方法是在Sql中更新或插入

Cha*_*iga 2 mysql sql

我需要在表中更新日期值,如果它不存在则必须插入

在MySql中执行此操作的最佳方法是什么

目前我正在使用

   SELECT Id INTO LId  FROM ATABLE WHERE ID = FID;
   IF LId IS NULL THEN
     INSERT INTO ATABLE(abc) Values (2)
   ELSE
     UPDATE ATABLE Set Abc = 2 Where Id = LId
   END IF;
Run Code Online (Sandbox Code Playgroud)

但这次击中了数据库3次

有没有更好的方法呢?

Jer*_*yth 5

INSERT ... ON DUPLICATE KEY UPDATE
Run Code Online (Sandbox Code Playgroud)

这就是你要找的:)

有关详细信息,请参见此处