gpt4 book ai didi

java - 如果存在则选择,否则插入并选择

转载 作者:行者123 更新时间:2023-11-29 23:20:31 24 4
gpt4 key购买 nike

好吧,我正在将 Java 与 MySQL 一起使用,我想知道如何选择 userId(如果存在),或者在选择分配的 userId(这是一个 AUTO_INCREMENT 值)之前将其插入表中。

我有这个代码:

String query = "INSERT INTO `player_id`(`name`) VALUES('exInput')";
Statement statment = Statement.RETURN_GENERATED_KEYS;
PreparedStatement pstmt = MySQLUtil.getConnection().prepareStatement(query, statment);
ResultSet keys = pstmt.getGeneratedKeys();
keys.next();
int userId = keys.getInt(1);

当输入不在 table 上时,它工作得很好,但即使它已经在 table 上,我也需要它工作。

最佳答案

也许是这样的?

IF EXISTS (SELECT <id> FROM <table> WHERE <id>='some_id') 
BEGIN
SELECT <id> FROM <table> WHERE <id>=''
END
ELSE
BEGIN
INSERT INTO <table>(fieldval) VALUES('')
END

虽然你可能应该有一些索引。否则,您可以在迭代中首先进行选择,如果返回 null,则进行插入。但是,如果您这样做,则必须注意并发请求(如果可能发生)。

关于java - 如果存在则选择,否则插入并选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27348225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com