測試類:com.yjw.demo.primarykeytest
資料庫表的主鍵為自增長列,在寫業務**的時候,經常需要在表中新增一條資料後,能獲得這條資料的主鍵 id,mybatis 提供了實現的方法。
insert into t_student (name, ***, selfcard_no, note)
values (
#,#,#,#
)
通過配置兩個屬性(keyproperty、usegeneratedkeys)獲取表中生成的自增長主鍵。
批量新增資料,也可以採用和上面一樣的方式。
insert into t_student (name, ***, selfcard_no, note)
values (#,
#,#,#)
假設我們取消表 t_student 的 id 自增的規則,我們的要求是:如果表 t_student 沒有記錄,則我們需要設定 id=1,否則我們就取最大 id 加2,來設定新的主鍵。對於一些特殊的要求,mybatis 也提供了對應方法。
select if(max(id) is null, 1, max(id) + 2) as newid from t_student
insert into t_student (id, name, ***, selfcard_no, note)
values (
#,#,
#,#,#)
批量新增資料,也可以採用和上面一樣的方式。
select if(max(id) is null, 1, max(id) + 2) as newid from t_student
insert into t_student (name, ***, selfcard_no, note)
values(#,
#,#,#)
架構筆記 · 語雀www.yuque.com
MySQL為什麼需要乙個主鍵(自增長)
主鍵自增長 alter table sys manager modify user id integer auto increment 表中每一行都應該有可以唯一標識自己的一列 或一組列 乙個顧客可以使用顧客編號列,而訂單可以使用訂單id,雇員可以使用雇員id 或 雇員社會保險號。主鍵 primar...
Sql Server批量刪除主鍵,新增自增長主鍵
最近遇到乙個問題,乙個資料庫中有很多相近的表,已經有資料了,但是需要把主鍵修改為自動增長的,但是又不想刪除資料,只好先刪掉主鍵,然後再新增主鍵並設定自動增長。因為這幾個表的主鍵名字是相同的,都是 kkkkkk 我想用迴圈來實現,於是寫了個儲存過程,主要使用游標。首先,查詢表名稱,主要通過sysobj...
設定自增主鍵 主鍵,聚集索引,不是乙個東西
練習一 建表時,可不可以不宣告主鍵?1 create table user name varchar 10 engine innodb 2 insert into user values shenjian 3 insert into user values shenjian 畫外音 建表時,不宣告主...