Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从插入中的选择返回值_Java_Mysql - Fatal编程技术网

Java 从插入中的选择返回值

Java 从插入中的选择返回值,java,mysql,Java,Mysql,我有一个表,其行具有伪随机唯一ID。我通过从随机排列表中选择第一个未使用的条目来实现 INSERT INTO test.Eyes (EyeId, DeviceId, DeviceName) SELECT RandomNumber, "abcd", "efgh" FROM test.RandomPermutation WHERE RandomNumber NOT IN (SELECT EyeId FROM test.Eyes) LIMIT 1; (显然,“abcd”和“efgh”在这里是占位

我有一个表,其行具有伪随机唯一ID。我通过从随机排列表中选择第一个未使用的条目来实现

INSERT INTO test.Eyes (EyeId, DeviceId, DeviceName)
SELECT RandomNumber, "abcd", "efgh" 
FROM test.RandomPermutation
WHERE RandomNumber NOT IN 
(SELECT EyeId FROM test.Eyes) LIMIT 1;
(显然,“abcd”和“efgh”在这里是占位符)


它工作正常,行按其应该的方式插入。我不希望这是两个不同的呼吁,以防止种族状况。我的问题是,我还想在Java中返回这个随机ID(EyeId的值)。有函数
getGeneratedKeys
,但它只返回自动增量值。是否有方法返回从select中获取的值?

您是否也可以有一个正常的自动增量id?基于此插入并生成您的随机id。然后使用getGeneratedKeys获取自动增量id,并从中返回指定的随机id?是的,我想这是可行的。我希望只要给数据库打一个电话就可以了,但我想再打一个电话也没用。但是,我担心这会影响基于随机数查询行所需的时间。基于已知随机id的查询应该仍然非常快(假设将随机id列设置为唯一键)。