亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否可以收集語句執行期間創建的行?

是否可以收集語句執行期間創建的行?

慕雪6442864 2023-12-10 15:04:08
我正在尋找能有效實現這一點的東西:ResultSet rs = con.prepareStatement("INSERT INTO Table (num1,num2,num3) VALUES (1,2,3)").execute();本質上是將您創建的行上的數據設置為變量。顯然 ResultSet 僅適用于 SELECT,但我想知道是否有一種方法可以管理創建的行,而不是執行單獨的查詢來定位它們。如果有辦法做到這一點,我一直找不到。
查看完整描述

1 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

在 MySQL 中,不會為 INSERT/UPDATE/DELETE/REPLACE 語句生成結果集。

MySQL 不支持Microsoft SQL Server 中的OUTPUT子句。

在 MySQL 中可行的解決方法(盡管僅適用于單行 INSERT)是使用嵌入到 VALUES 子句中的用戶變量賦值來執行 INSERT。

INSERT?INTO?MyTable?(num1,?num2,?num3)?VALUES?(@num1:=1,?@num2:=2,?@num3:=3)

這仍然不會為 INSERT 語句創建結果集,因此您必須在 INSERT 之后執行 SELECT 查詢。

SELECT?@num1?AS?num1,?@num2?AS?num2,?@num3?AS?num3

另一種解決方法是在 INSERT TRIGGER 內對用戶變量進行賦值。您不必以這種方式在 VALUES 子句中進行賦值。但是在 INSERT 完成后您仍然必須選擇用戶變量。這也僅適用于單行插入。


查看完整回答
反對 回復 2023-12-10
  • 1 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號