mysql的设置主键自增的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的设置主键自增的问题相关的知识,希望对你有一定的参考价值。

我用的是navicat这个东东 用它可以把主键设成自增吗 如何设置啊

参考技术A 数据库修改mysql的字符集:在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集1查看建立表“tablename”的sql语句Show create table tablename;//查看建立表“tablename”的sql语句| maos_mail_batch | CREATE TABLE `maos_mail_batch` (`ID` varchar(32) character set latin1 NOT NULL,`BATCH_TIME` varchar(30) character set latin1 NOT NULL,`BATCH_INTRODUCE` varchar(2000) character set latin1 default NULL,`BATCH_SUM` int(11) default NULL,`BATCH_STATE` varchar(1) character set latin1 default NULL,PRIMARY KEY (`ID`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 |2修改数据库和表的字符集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列转换过来时,并没有发生转换。3 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;4 删除自增长的主键id先删除自增长在删除主键Alter table tb change id id int(10);//删除自增长Alter table tb drop primary key;//删除主建 参考技术B increament为自增长 参考技术C auto_increamentautoincreament这两个试试,我忘记哪个关键字了。

mybatismybatis中insert 主键自增和不自增的插入情况mysql

 

主键不自增:返回值是插入的条数

<insert id="add" parameterType="EStudent">
  insert into TStudent(name, age) values(#{name}, #{age})
</insert

 

主键自增:

<insert id="add" parameterType="EStudent" useGeneratedKeys="true" keyProperty="id">
  insert into TStudent(name, age) values(#{name}, #{age})
</insert>

 

以上是关于mysql的设置主键自增的问题的主要内容,如果未能解决你的问题,请参考以下文章

SQL 一个表只有一个自增的主键字段,如何插入

如何设置主键自增从1000开始每次自增1

数据库PowerDesigner设置主键自增

mybatismybatis中insert 主键自增和不自增的插入情况mysql

Java程序连接Oracle数据库时怎么设置主键自增

DB2 如何主键自增