我需要一些SQL来更新数据库中的记录(如果它存在)并在不存在的情况下插入它,环顾四周看起来有几个解决方案,但我不知道正确/可接受的方法是什么.
理想情况下,我希望它可以在Firebird 2和MySQL 5上运行,因为需要针对两个数据库运行更新,如果在两者上运行相同的SQL,如果它在更多数据库上运行会更加简单,那将会更简单.
在这种情况下,速度和可靠性也会影响可靠性,但它可能会用于快速连续更新1000个记录(在不同的表中).
任何从属?
在Firebird 2.1中,您可以对简单情况使用UPDATE OR INSERT,对于更复杂的情况可以使用MERGE.