DROP TABLE IF EXISTS `user`;(user为你已经建好的名字)
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,(auto_increment控制主键自曾1)
`gid` int(11) default NULL,
`username` varchar(15) NOT NULL,
`password` varchar(15) NOT NULL,
PRIMARY KEY (`id`),--->设置主键
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
或者这样
alter table 表名 modify id int auto_increment primary key
在MySQL中可通过字段的AUTO_INCREMENT属性来自动生成。
mysql数据库表主键自增长的sql语句1、不控制主键的起点
create table emb_t_dictBusType
(
emb_c_busTypeID int not null auto_increment,
emb_c_busTypeEnName varchar(255) not null,
emb_c_busTypeZhName varchar(255) not null,
primary key(emb_c_busTypeID)
)engine=INNODB default charset=gbk;
2、控制主键的起点
create table emb_t_dictBusType
(
emb_c_busTypeID int not null auto_increment,
emb_c_busTypeEnName varchar(255) not null,
emb_c_busTypeZhName varchar(255) not null,
primary key(emb_c_busTypeID)
)engine=INNODB auto_increment=1001 default charset=gbk;
保证程序的正确性,主键ID首先具有唯一性,设置自动增长在前台Insert的时候不需要传入ID的值,数据库自动根据最后一个ID值增加1 保证数据库主键不重复而且调用更为高效。
假如说没有设置自动增长 在insert一条记录的时候需要人为传递ID值。要保证唯一性必须要先获得上条记录的ID用select 然后再加一 然后在执行insert 从效率方面降低程序的灵活性。
个人见解。
对于一个表中的主键可以定义为自增长的,当主键定义为自增长后,那么这个主键的值就不需要用户输入数据,而由数据库系统根据定义自动赋值。当增加一条记录时,主键自动的以相同的步长来进行增长,这个步长是在建表的时候用户自己定义的。一般自增长数据只能是数值类型,如:int、bigint、decimal、等
1、表中设置自增加字段
2、建立主键
例如:
Create Table 表名
(
RecID int Identity(1,1) Not Null, --自增长
)
Alter Table 表名 Add Constraint 主键名称 Primary Key Clustered (RecID Asc)
以上就是关于建立一张mysql的表 已有了ID 将ID设置成 主键自动增加全部的内容,包括:建立一张mysql的表 已有了ID 将ID设置成 主键自动增加、Mysql数据库自增长如何设置、数据库设置主键的时候用,为什么设置自动增长等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)