mysql更改主键 1修改数据库和表的字符集 alter database maildb default character set utf8;//修改数据库的字符集 alter table mailtable default character set utf8;//修改表的字符集 如果您想要把表默认的字符集和所有字符列(char, varchar, text)改为
mysql更改主键1修改数据库和表的字符集
alter database maildb default character set utf8;//修改数据库的字符集
alter table mailtable default character set utf8;//修改表的字符集
如果您想要把表默认的字符集和所有字符列(char, varchar, text)改为新的字符集,应使用如下语句:
alter table tbl_name convert to character set charset_name;
警告:前面的操作转换了字符集之间的列类型。如果您有一列使用一种字符集(如latin1),但是存储的值实际上使用了其它的字符集(如utf8),这种情况不是您想要的。此时,您必须对这样的列进行以下操作。
alter table t1 change c1 c1 blob;
alter table t1 change c1 c1 text character set utf8;
这种方法能够实现此功能的原因是,当您转换到blob列或从blob列转换过来时,并没有发生转换。
2 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 tb add primary key(id);
alter table tb change id id int(10) not null auto_increment=1;
3 删除自增长的主键id
先删除自增长在删除主键
alter table tb change id id int(10);//删除自增长
alter table tb drop primary key;//删除主建
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!