`
liqita
  • 浏览: 291301 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

mysql 修改已存在的表增加ID属性为auto_increment自动增长

阅读更多

转载于:http://jinjiabao.javaeye.com/blog/401019

 

将已经存在表设置自动增长属性

具体如下

alter table customers change id id int not null auto_increment primary key;  

扩展知识:

//添加字段并设置主键
ALTER TABLE tabelname ADD new_field_id int(5) unsigned default 0 not null auto_increment ,ADD primary key (new_field_id);

//加主关键字的索引
ALTER TABLE tablename ADD primary key(id);

//加索引
ALTER TABLE tablename CHANGE depno depno int(5) not null;
ALTER TABLE tablename ADD INDEX 索引名 (字段名1[,字段名2 …]);
ALTER TABLE tablename ADD INDEX emp_name (name);

//加唯一限制条件的索引
ALTER TABLE tablename ADD UNIQUE emp_name2(cardnumber);

//删除某个索引
ALTER TABLE tablename DROP INDEX emp_name;


//增加字段:
ALTER TABLE table_name ADD field_name field_type;

//删除字段
ALTER TABLE table_name DROP field_name;

//重命名列
ALTER TABLE table_name CHANGE field_name1 field_name2 integer;

//调整字段顺序
ALTER TABLE `users` CHANGE `user_password` `user_password` varchar( 20 ) NOT NULL AFTER user_name;

//改变列的类型
ALTER TABLE table_name CHANGE field_name field_name bigint not null;
ALTER TABLE infos CHANGE list list tinyint not null default '0';

//修改原字段名称及类型:
ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;

//重命名表
ALTER TABLE table_name rename new_table_name;

//级联更新 和 删除(红色部分,不区分大小写 )
DROP TABLE IF EXISTS `mail_model`;create TABLE mail_model(id varchar(50) primary key not null ,mail_filename varchar(200),content varchar(2000))ENGINE=InnoDB DEFAULT CHARSET=gbk;

DROP TABLE IF EXISTS `mail_model_extend`;create TABLE mail_model_extend(id int(6) auto_increment not null primary key,rid varchar(50) not null,content varchar(2000),INDEX (RID),FOREIGN KEY (RID) REFERENCES mail_model(ID) ON DELETE CASCADE ON UPDATE CASCADE)ENGINE=InnoDB DEFAULT CHARSET=gbk;

分享到:
评论

相关推荐

    MySQL AUTO_INCREMENT 主键

    而`AUTO_INCREMENT`属性则是在MySQL数据库系统中为某些整数类型的主键自动分配唯一值的功能。下面我们将深入探讨`AUTO_INCREMENT`与主键的相关知识点。 #### 1. 主键 (Primary Key) 主键是指在一个数据表中能够...

    MySQL 序列 AUTO_INCREMENT详解及实例代码

    MySQL序列是一组整数:1, 2, 3, …,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。 本章我们将介绍如何使用MySQL的序列。 使用AUTO_INCREMENT MySQL中...

    MySQL查询和修改auto_increment的方法

    在MySQL数据库中,`auto_increment` 是一个非常重要的特性,它允许系统自动为新插入的行生成唯一的标识符,通常用于主键字段。这个特性在处理大量数据时尤其有用,因为它消除了手动分配唯一ID的需求。本文将详细介绍...

    Mysql auto_increment 重新计数(让id从1开始)

    在MySQL数据库中,`auto_increment` 是一个非常重要的特性,它允许在插入新记录时自动为某个整数字段(通常是主键)生成唯一的递增值。当你清空一个具有`auto_increment`字段的表,然后重新插入数据时,可能会发现这...

    mysql中自增auto_increment功能的相关设置及问题

    要修改这些设置,可以使用`SET`语句,比如`SET auto_increment_increment=10`将自增步长设置为10,而`SET auto_increment_offset=2`将初始值设定为2。请注意,如果`auto_increment_offset`的值大于`auto_increment_...

    解析mysql中的auto_increment的问题

    MySQL中的auto_increment是一种非常实用的属性,用于为表中的记录自动生成唯一的ID。这通常用于主键字段,确保每条记录都可以通过一个唯一的标识符进行区分。然而,auto_increment在处理记录删除、数据库重启以及...

    blog_auto_increment

    在MySQL中,`AUTO_INCREMENT`关键字用于定义整数列,当插入新行时,如果未指定该列的值,系统会自动为其分配一个唯一且递增的值。这对于创建主键或唯一标识符非常有用,确保每条记录都有一个独特的标识。 在创建表...

    mysql 双向同步的键值冲突问题的解决方法

    总的来说,解决MySQL双向同步中的键值冲突问题,关键在于利用`auto_increment_offset`和`auto_increment_increment`参数,合理规划每个服务器的自增长ID序列,以确保数据的一致性和完整性。同时,为了保证整个系统的...

    mongoid_auto_increment_id:将ID字段覆盖到MySQL,例如Mongoid的自动增量

    像MySQL一样,将Mongoid id字段更改为Integer的宝石。 MongoDB文档中的想法: 注意! 这个宝石已经帮助超过了4年,并产生了超过一百万行,这是非常工作的意愿。 现在,Ruby China( )已更改为ActiveRecord以将...

    MySQL自增长键理解

    `auto_increment_increment`变量定义了自增长的步长,默认值为1,这意味着每次自增长时数值增加1。而`auto_increment_offset`则设置了初始值,也就是自增长序列的第一个值,默认也是1。 当试图插入一个值X到具有自...

    世界国家表+世界省份表+世界城市表_关联id_my数据表

    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '关联city表的province_id', `country_id` int(11) NOT NULL DEFAULT 0 COMMENT '国家id', `province_name` varchar(100) NOT NULL DEFAULT '' COMMENT '省份名称', ...

    python mysql自增字段AUTO_INCREMENT值的修改方式

    这个时候我们就要学习去修改数据表的一些属性值了,而这个属性值就是AUTO_INCREMENT。 首先我们要知道怎么查看这个属性的值。 例如我建了一张表: create table t4(id int auto_increment primary key, num int) ...

    mysql 自增长 时间字段

    例如,在创建用户信息表 Userinfo 时,我们可以将 User_ID 字段设置为 auto_increment,以便在插入数据时自动增长: ```sql CREATE TABLE UserInfo ( User_ID int NOT NULL PRIMARY KEY AUTO_INCREMENT, Name ...

    mysql的插入问题 怎么获得自动增长的ID

    在MySQL中,通过设置字段为`AUTO_INCREMENT`属性来实现自动增长的ID。当向表中插入新记录时,如果该记录的ID字段未指定值,则系统会自动分配一个唯一的递增ID。 - **MyISAM与InnoDB的区别**: - **MyISAM**:使用...

    PostgreSQL AUTO INCREMENT(自动增长)

    在PostgreSQL数据库中,"AUTO_INCREMENT"特性是通过序列(Sequences)来实现的,它在新记录插入到表中时会自动生成一个唯一的数字。序列是一种特殊的数据类型,可以生成一系列连续的整数,用于为表中的字段赋值。在...

    identity:用于MySql数据库

    ### MySQL中的Identity(Auto-Increment)属性 在MySQL数据库中,`identity`通常与`auto_increment`属性关联在一起。此属性主要用于确保表中的主键字段能够自动递增,从而为每一行数据提供一个唯一标识符。这对于...

    oracle迁移mysql自增序列问题

    在上述例子中,通过`ALTER TABLE`语句将`id`字段改为自动增加,MySQL自动地从当前表中最大`id`值的下一个数字开始自增,因此在插入新记录`'test6'`时,`id`字段被设置为101,符合预期。 问题延伸部分提出了两个额外...

Global site tag (gtag.js) - Google Analytics