SQLSERVER 插入資料後獲取插入資料的主鍵或自增主鍵
當插入一條資料時,很多時候想立刻獲取當前插入的主鍵值,通常的做法有如下幾種:
一、插入時手動給主鍵賦值自增加1
1. 先 select max(id) +1 ,然後將+1後的值作為主鍵插入資料庫;
2. 使用特定資料庫的 auto_increment 特性,在插入資料完成後,使用 select max(id) 獲取主鍵值;
二、插入之後select @@indentity
sql程式碼:
INSERT INTO table_name (.....) VALUES(......) SELECT @@IDENTITY AS ID;
相關推薦
SQLSERVER 插入資料後獲取插入資料的主鍵或自增主鍵
當插入一條資料時,很多時候想立刻獲取當前插入的主鍵值,通常的做法有如下幾種: 一、插入時手動給主鍵賦值自增加1 1. 先 select max(id) +1 ,然後將+1後的值作為主鍵插入資料庫; 2. 使用特定資料庫的 auto_increme
Mysql主鍵 UUID做主鍵,自增主鍵及字串主鍵在插入、查詢,分頁等效能
1.插入方面 UUID做主鍵,其他欄位相同,插入100萬條資料,用了3.5個小時 自增主鍵,其他欄位相同,插入相同的100萬條資料,用了16分鐘 有序增長的字串做主鍵,其他欄位相同,插入相同100萬條資料,用了7分鐘 2.查詢方面 UUID做主鍵,select count() fro
PK資料庫 聯合主鍵和自增主鍵
主鍵:主鍵是用來幹嘛的?一般來說是為了建立唯一標識,建立索引的。 主鍵的使用目的: a.為了保證資料查詢唯一; b.提高儲存效率和索引效率。 索引:如果表的讀操作少或者沒有,索引效率會高,如果表的寫操作較多或者大量,建立索引會慢。 主鍵的設定方法有3種: 一種是設定自增長主鍵
NHibernate 非自增主鍵與自增主鍵的對映檔案配置
在用NHibernate的時候, 當有表中的主鍵是資料庫自動生成的時候(即設定的自增)將使用native:<generator class="native"></generator>而當是自己填寫的時候則需要改為assigned:<genera
Oracle 在插入資料後獲取主鍵ID的解決辦法
Mybatis批量插入返回自增主鍵: 對於支援生成自增主鍵的資料庫:useGenerateKeys和keyProperty 不支援生成自增主鍵的資料庫:<selectKey> 1、Oracle資料庫中建立自增序列 create sequence ARCHI
SSM】之MyBatis插入資料後獲取自增主鍵
很多時候,我們都需要在插入一條資料後回過頭來獲取到這條資料在資料表中的自增主鍵,便於後續操作。針對這個問題,有兩種解決方案: (1)先插入,後查詢。我們可以先插入一條資料,然後根據插入的資料的各個欄位值,再次訪問資料庫,從資料庫中將剛剛插入的資料查詢出來。當
Mybatis——【親測】mybatis使用註解方式插入資料後獲取自增長的主鍵值
自己踩過的坑,查了好久,終於發現解決方法。 步驟有三: 1. 寫SQL,但不要自己插入主鍵值 2. 配置@Options(useGeneratedKeys=true, keyProperty="物
mybatis插入自增主鍵ID的資料後返回自增的ID
開發中碰到使用者註冊的功能需要用到使用者ID,但是使用者ID是資料庫自增生成的,這種情況上網查詢後使用下面的方式配置mybatis的insert語句可以解決 <insert id="insert" keyProperty="id" useGeneratedKeys=
Mysql和Mybatis獲取新插入資料自增主鍵的值
Mysql 首先就是mysql獲取最近插入資料id的查詢方法 mysql為我們提供了查詢最近插入自增主鍵ID的值 獲取剛插入的自增長id的值 insert into user (username,age,address) VALUES ('abc',18
【Mybatis】資料插入資料庫時,獲取自增主鍵
在mybatis的XML檔案時,配置useGeneratedKeys和KeyProperty屬性,且這兩個屬性不能省略。 useGeneratedKeys屬性,要求資料庫本身具備主鍵自動增長的功能。
SQLServer查詢資料後,插入表中時去重問題
1、問題描述 表A,正式表,待插入資料 表B,臨時表,格式與A相同,臨時資料,存在重複資料 2、問題解決 此解決方案未對超過10W的資料量進行測試 主要是針對col4列資料進行去重處理 INSERT into A(col1,col2,col3,col
mybatis框架(6)---mybatis插入數據後獲取自增主鍵
-a 中間 generate 什麽 text 簡單 技術 cti 插入數據 mybatis插入數據後獲取自增主鍵 首先理解這就話的意思:就是在往數據庫表中插入一條數據的同時,返回該條數據在數據庫表中的自增主鍵值。 有什麽用呢,舉個例子: 你編輯
JDBC插入資料後返回新資料id
使用jdbc向表中插入資料時,有時候需要返回新插入資料的id。比如現在要向兩個表中分別插入一條資料,第一條資料插入後生成的id要作為第二條資料的一個欄位值。 具體程式碼: PreparedStatement pstmt = null; ResultSet rs =
Mybatis的mapper.xml檔案中插入資料返回自增主鍵
使用MyBatis往MySQL資料庫中插入一條記錄後,返回該條記錄的自增主鍵值。Mapper檔案應該怎麼寫呢? Mybatis的Mapper的標籤中有一個屬性,我們一起來看看: useGenerateKeys這個屬性,意思就是使用自增。我們需要將這個欄位設定為 true 。 同時,還需
Navicat操作Oracle、JPA註解實現Oracle插入資料 主鍵ID自增
首先在Oracle表中實現ID自增,其次在JPA中實現。 Oracle資料庫不存在主鍵自增選項,現在想實現ID自增。 部落格連結:oracle 實現插入自增列 開啟Navicat,定位到自己建立的表。 一、 建立序列 其他-序列&
ORACLE 批量插入 主鍵為自增序列 有幾個欄位資料從其他表匯入的 有幾個是固定的
ORACLE 批量插入 主鍵為自增序列 有幾個欄位資料從其他表匯入的 有幾個是固定的 insert into CUSTOMERPRODUCTCATEGORY----------目標表 (CUSTOMERPRODUCTCATEGORYID,ORIGINALID,WE
mysql刪除末尾資料後,再插入新資料id不連續解決方案
MySQL的user表中本來15條資料,我把後5條給刪除了,再插入新使用者後id會從16開始計數, 導致重新插入值,欄位id取值不連續. 解決方案: ALTER TABLE USER AUTO
java實現向主鍵id自增的表中插入資料
問題 想要向mysql資料庫中插入一條記錄,因為設計的表時自動遞增的,那麼如果插入多條記錄,每次都要設定主鍵的話工作量會很大,而且難免會有重複的主鍵,這時候就要使用強大的主鍵自增的功能了。
使用mybatis插入自增主鍵ID的數據後返回自增的ID
配置 map batis 對象 insert語句 parameter 用戶註冊 class domain 在開發中碰到用戶註冊的功能需要用到用戶ID,但是用戶ID是數據庫自增生成的,這種情況上網查詢後使用下面的方式配置mybatis的insert語句可以解決: 1 <
Java程式碼TkMyBatis通用Mapper中新增資料時同時獲取自增主鍵ID,與適用uuid 做主鍵時獲取 id
一 . MyBatis mapper.xml檔案中在xml 1. 加入 這句 :useGeneratedKeys="true" keyProperty="ID" keyProperty="資料庫中的主鍵欄位名對應的實體類欄位名" ;【填實體類欄位