Apabila kami sedang mengusahakan projek dan mencipta jadual pengguna, bagaimanakah kita boleh membuat id kunci utama jadual meningkat daripada 0? Saya mencari banyak penyelesaian dalam talian dan akhirnya menemui penyelesaian yang pasti akan dilaksanakan dan berkesan. Seterusnya, kami akan memperkenalkan kaedah pelaksanaan
(1) Buat jadual baharu dan nyatakan peraturan kenaikan automatik (jika jadual sudah wujud , hanya padamkannya dan buat semula)
(2) Masukkan data jadual dengan id yang ditentukan sebagai 1 ke dalam pangkalan data
(3) Masukkan data jadual lain tanpa menyatakan kandungan id Jadual data, biarkan id jadual meningkat secara automatik
(4) Apabila menggunakan mybatisPlus untuk mencipta dan menjana kelas entiti, nyatakan peraturan kenaikan id kelas entiti sebagai peraturan kenaikan pangkalan data sahaja
1 Cipta jadual pengguna baharu dan nyatakan peraturan kenaikan automatik (jika jadual itu sudah wujud, padamkannya dan buat semula)
AUTO_INCREMENT=1. , hanya tambah peraturan seterusnya Id rekod jadual hanya meningkat sebanyak 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 Masukkan data jadual dengan id yang ditetapkan 1 ke dalam pangkalan data
insert into sys_user values(1,'微信用户唯一id','账号','用户名','mima', '昵称','xb','sjh','js','nl','0',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP, 0,'邮箱','头像图片','城市','省份','国家')
3 menyatakan kandungan id. Biarkan id jadual meningkat secara automatik
insert into sys_user(username,password,country) values('dscdc','8979777','中国');
Selepas tiga langkah ini, kami membuka navicat untuk melihat rekod dalam jadual sys_user dalam pangkalan data
Dapat dilihat, ID jadual yang dijana telah ditambah mengikut peraturan hanya meningkat sebanyak 1.
Akhir sekali, kami hanya perlu menambah anotasi pada medan id kelas entiti Java, dengan menetapkan bahawa apabila menambah jadual baharu, mybatisplus hanya boleh meningkatkan id mengikut satu-satunya peraturan peningkatan reka bentuk jadual pangkalan data . Anotasi ialah @TableId(value ="id",type = IdType.AUTO)
@TableId anotasi mybatis-plus
@TableId(value="xxx", type = IdType.xxx):
"value ": Tetapkan nilai medan pangkalan data
"type": Tetapkan jenis kunci primer Jika kunci primer pangkalan data ditetapkan kepada auto-increment, adalah disyorkan untuk menggunakan "AUTO"
@TableId(value ="id",type = IdType.AUTO)
Kod Java lengkap kelas entiti diberikan di bawah Pada ketika ini kami juga telah melaksanakan fungsi mencipta id jadual yang boleh ditambah mengikut peraturan kenaikan automatik
@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; }
Atas ialah kandungan terperinci Bagaimana untuk mencipta jadual dalam mysql dan tetapkan id kunci utama jadual untuk meningkat daripada 1. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!