我正在寻找可以有效解决的问题:ResultSet rs = con.prepareStatement("INSERT INTO Table (num1,num2,num3) VALUES (1,2,3)").execute();
基本上是将您创建的行上的数据设置为变量。显然,ResultSet仅适用于SELECT,但是我想知道是否有一种方法可以存储创建的行,而不是执行单独的查询来查找它们。如果有办法,我一直找不到。
在MySQL中,没有为INSERT / UPDATE / DELETE / REPLACE语句生成结果集。
MySQL不支持Microsoft SQL Server中的OUTPUT
clause。
在MySQL中有效的解决方法(尽管仅适用于单行INSERT)是在VALUES子句中嵌入用户变量分配的情况下执行INSERT。
OUTPUT
这仍然不会为INSERT语句创建结果集,因此您必须在INSERT之后执行SELECT查询。
INSERT INTO MyTable (num1, num2, num3) VALUES (@num1:=1, @num2:=2, @num3:=3)
另一种解决方法是在INSERT TRIGGER内部对用户变量进行赋值。您不必以这种方式在VALUES子句中进行分配。但是在完成INSERT之后,您仍然必须选择用户变量。这也仅适用于单行INSERT。