mysql的主键问题:
Mysql的两种主键。Primary key 和not null auto_incriment,
在建立mysql表时,给一个字段添加了主键primary key 在insert数据时可以不用insert主键,mysql会自动添加0,但是在第二次insert时没有填写值mysql数据库还是默认添加0,会导致有重复的主键,这是不可以的。所有在定义了primary key时,在insert数据时要给主键填写值。
在建立mysql表时,给一个字段添加了主键not null auto_increment=1;
这也是一个主键。时自增长的以1为开始。这个字段是可以不用填写值的,mysql数据库会自动给填写值,不会出现primary key的状况。
Alter table demo add primary key(id);
Alter table demo change id id int(10) not null auto_increment=1;
删除自增长的主键id
先删除自增长在删除主键
Alter table demo change id id int(10);//删除自增长
Alter table demo drop primary key;//删除主建
修改数据库和表的字符集的问题
alter database maildb default character set utf8;//修改数据库的字符集
alter table mailtable default character set utf8;//修改表的字符集
注意:
当自动增长删除后就不能再通过修改来添加了,网上说要重新建表,自动增长是在建表的时候设置的
添加自增长的主键id
Alter table demo add primary key(id);//添加主键
添加主键后无法再重新添加自动增长,啊