我有一个 mysql 数据库,其中包含一个表,该表同时具有自动增量主键和唯一字符串值键(sha-1 哈希)。
如果我尝试添加与现有记录具有相同 sha-1 哈希的记录,我只想获取现有记录的主键。在尝试插入具有现有哈希值的记录时,我可以使用“INSERT ... ON DUPLICATE KEY UPDATE”或“INSERT IGNORE”之类的东西来防止异常。
但是,发生这种情况时,我需要检索现有记录的主键。我找不到使用单个 SQL 语句的方法。如果重要的话,我的代码是用 Java 编写的,而且我使用的是 JDBC。
或者,我可以使用两个语句来完成(如果未找到,则查询后跟插入,或者如果存在重复键,则插入后跟查询)。但我认为单个语句会更有效。