Re: [問題] 如何抓到剛存入資料庫的那筆ID

看板java作者 (痞子軍團團長)時間14年前 (2011/09/28 17:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《catjimmy (cat)》之銘言: : 因為想要寫個物件導向式的類別來做資料庫的存取 : 例如說 學生資料庫 students 在java的類別就叫做 student : 資料表有兩個欄位id(PK,AI) name(VARCHAR) : 我希望能做這樣的功能 : private static int id; : private static String name; : public student(String name){ : this.name = name; : // 在student資料庫新增一筆name欄位的資料 : PreparedStatement ps = conn.prepareStatement("INSERT INTO students : (name, : create_at, update_at) : VALUES : (?, : CURRENT_TIMESTAMP(), : CURRENT_TIMESTAMP())"); : ps.setString(1, name); : ps.excuteUpdate(); ^^^^^^^^^^^^^^^^^^ : } : 以上是新增一筆資料的部份,更新的部分雷同只是sql修改成update的語法因此不多 : 佔版面,希望是在這筆資料新增後能得到剛剛寫入或更新的這筆資料的id 更新會是問題嗎? 當然,如果你敢靠 name 去 update... 新增的話,有個東西叫做 getGeneratedKeys() 至於這種東西有沒有實質效果... 你去問 JDBC driver [炸] 當然,請不要忘記搭配另外一種格式的 ps.executeUpdate(),以確保成效 : 爬文跟自己做都想不出這邊要怎麼寫 : 想來請求一下指點 如何能得到剛剛新增/修改那筆資料的id呢? 這種東西,爬文還不如爬 document Database 層級的 support,或是不可靠的 JDBC support 真的要自己想,那我會去找 Java 裡頭有種東西叫做 UUID 應該沒人規定 PK 一定得靠 Database 產生... -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.0.25
文章代碼(AID): #1EWkgHWH (java)
討論串 (同標題文章)
文章代碼(AID): #1EWkgHWH (java)