我不确定这个问题是否适合 SQL、MySQL、存储例程甚至 JDBC 领域。基本上我想要一个看起来像这样的 SQL 函数:
INSERT IGNORE (id, data) INTO table
SELECT id FROM table WHERE `data` = data
这需要通过原始 SQL 或存储的例程从 Java 启动。这看起来非常糟糕,因为如果insert ignore
成功,它不应该立即跟进 SQL 查询来获取它刚刚插入的内容。请注意,id
它将自动生成。做到这一点的最佳方法是对 SQL 查询的数量和可读性等有效吗?我真的不知道 INSERT IGNORE 的效率有多高。