Home >Database >Mysql Tutorial >MySQL添加删除主键的方法

MySQL添加删除主键的方法

WBOY
WBOYOriginal
2016-06-07 16:21:111385browse

mysql添加删除主键操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,如果您是刚刚接触mysql数据库的新人,不妨一看。 修改mysql的字符集: 在安装mysql5.0时可以设置好mysql的字符集,一般使用utf8的字符集 1、查看建立表tablename的sql语句 Sho

   mysql添加删除主键操作是非常基本的操作,下面就将教您mysql添加删除主键的方法,如果您是刚刚接触mysql数据库的新人,不妨一看。

  修改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;//删除主建

  以上就是mysql添加删除主键的方法介绍。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn