您好,登錄后才能下訂單哦!
本篇內容介紹了“mysql怎么創建表設置表主鍵id從1開始自增”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
當我們在做項目的時候,創建一張用戶表,如何讓該表的主鍵id從0開始自增?網上搜索了很多解決方案,最后發現了一種方法必實現且有效的方案。下面就來介紹實現方法
(1)創建一張新表,規定好自增規則(若該表已經存在,則刪除掉再創建即可)
(2)在數據庫中對該表插入一條指定id為1的表數據
(3)再插入一條不指定id內容的數據表,讓表的id自增
(4)使用mybatisPlus創建生成實體類時,指定該實體類的id自增規則為數據庫只增規則
1.創建一張新用戶表,規定好自增規則(若該表已經存在,則刪除掉再創建即可)
AUTO_INCREMENT=1,只增規則為下一條表記錄id只增1
create table if not exists `sys_user` ( `id` bigint(20) not null auto_increment PRIMARY KEY comment '主鍵' , `opend_id` varchar(256) DEFAULT null comment '微信用戶唯一id', `account_number` varchar(256) DEFAULT null comment'賬號', `username` varchar(256) not null DEFAULT '' comment '用戶名', `password` varchar(256) comment '密碼', `nick_name` varchar(256) DEFAULT null comment '昵稱', `gender` varchar(25) DEFAULT null comment '性別', `phone` varchar(256) DEFAULT null comment '手機號', `role` varchar(10) default '0' not null comment '角色,0為普通用戶,1為會員', `age` varchar(256) not null DEFAULT'110'comment '年齡', `user_status` varchar(25) default '0' not null comment '狀態', `update_time` datetime not NULL DEFAULT CURRENT_TIMESTAMP comment '更新時間', `create_time` datetime not NULL DEFAULT CURRENT_TIMESTAMP comment '創建時間', `is_deleted` tinyint default 0 not null comment '是否刪除(0-未刪, 1-已刪)', `email` varchar(256) DEFAULT null comment '郵箱', `avatar` varchar(256) not null DEFAULT 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh5mIHO4nibH0KlMECNjjGxQUq24ZEaG T4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132' comment '頭像圖片', `city` varchar(50) DEFAULT '北京' comment '城市', `province` varchar(50) DEFAULT null comment '省份', `country` varchar(50) comment '國家' ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 comment '用戶表信息';
2.在數據庫中對該表插入一條指定id為1的表數據
insert into sys_user values(1,'微信用戶唯一id','賬號','用戶名','mima', '昵稱','xb','sjh','js','nl','0',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP, 0,'郵箱','頭像圖片','城市','省份','國家')
3.再插入一條不指定id內容的數據表,讓表的id自增
insert into sys_user(username,password,country) values('dscdc','8979777','中國');
經過這三步操作后,我們打開navicat來查看數據庫中sys_user表里的記錄
可以看出,生成的表id已經是按照只增1的規則只增了。
最后我們只需要在Java實體類的id字段上加上一個注解,規定mybatisplus在添加新表時按照數據庫表設計時id的只增規則只增即可,該注解為@TableId(value ="id",type = IdType.AUTO)
mybatis-plus的@TableId注解
@TableId(value=“xxx”,type = IdType.xxx):
“value”:設置數據庫字段值
“type”:設置主鍵類型、如果數據庫主鍵設置了自增建議使用“AUTO”
@TableId(value ="id",type = IdType.AUTO)
下面給出該實體類的完整Java代碼,到這里我們也就實現了建表id按照自增規則自增功能
@Data @AllArgsConstructor @NoArgsConstructor @TableName("sys_user") public class SysUser { // type = IdType.AUTO id按照數據庫里設置的只增規則自己增加 @TableId(value ="id",type = IdType.AUTO) private Long id; //用戶名 private String username; //賬號 private String accountNumber; //密碼 private String password; //昵稱 private String nickName; //手機號 private String phone; //角色 private String role; //年齡 private String age; //狀態 private String userStatus; //更新時間 private Date updateTime; //創建時間 private Date createTime; //是否刪除(0-未刪, 1-已刪) private Integer isDeleted; //郵箱 private String email; //頭像圖片 private String avatar; private String gender; private String city; private String province; private String country; private String opendId; }
“mysql怎么創建表設置表主鍵id從1開始自增”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。