给MySQL表增加指定位置的列

ALTER TABLE test ADD COLUMN id INT UNSIGNED NOT NULL auto_increment PRIMARY KEY FIRST

给表添加列是一个常用的操作,MySQL增加列的时候可以指定此列的位置

给指定位置加列需要两个关键字:

FIRST和AFTER

FIRST表示增加此列为第一个列

AFTER表示增加在某个列之后

注意MySQL增加列指定位置时没有BEFORE的用法,第一列可以使用FIRST,非第一列使用AFTER。

语法:

ALTER TABLE table_name ADD [COLUMN] col_name column_definition  [ FIRST | AFTER col_name]

实例:

DROP TABLE IF EXISTS `test`;

CREATE TABLE `test` (
  `a` int(11) NOT NULL,
  `b` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在test表a列后面增加一列c:

ALTER TABLE test ADD COLUMN c INT NOT NULL AFTER a

在test表的第一列增加字段id:

ALTER TABLE test ADD COLUMN id INT UNSIGNED NOT NULL auto_increment PRIMARY KEY FIRST

全文完。

时间: 2024-11-11 00:32:48

给MySQL表增加指定位置的列的相关文章

C#DataTable添加列、C#指定位置添加列

DataSet ds = SQlHelper.GetDataTable(Con, sb.ToString()); ds.Tables[0].Columns.Add("Check", System.Type.GetType("System.Boolean")); ds.Tables[0].Columns["Check"].SetOrdinal(0);//此列放置的顺序 ds.Tables[0].Columns["Check"].

mysql批量增加表中新列存储过程

一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下: 日志表结构类型 tbl_ads_req_20140801,  tbl_ads_req_20140802 ... DELIMITER // create procedure sp2() begin declare sTime varchar(32); declare eTime varchar(32); declare sName varchar(128); declare

EF连接Mysql 表'TableDetails'中的列'IsPrimaryKey'的值为DBNull

无法生成模型,因为存在以下异常:'System.Data.StrongTypingException:表'TableDetails'中的列'IsPrimaryKey'的值为DBNull.---> System.InvalidCastException:指定的转换无效. 原文链接http://stackoverflow.com/questions/33575109/mysql-entity-the-value-for-column-isprimarykey-in-table-tabledetail

MySql中增加一列

如果想在一个已经建好的表中添加一列,可以用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null; 这条语句会向已有的表中加入新的一列,这一列在表的最后一列位置.如果我们希望添加在指定的一列,可以用: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null after COLUMN_NAME; 注意,上面这个命令的意思

MySQL 表和列的注释

像代码一样,可以为表以及表中的列添加注释,方便其他人知晓其功能.对于一些字段,在经过一定时间后,创建者未必也能想起其具体的含意,所以注释显得尤为重要. 注释的添加 注释的添加是通过在定义表或列的时候在末尾加上 COMMENT 关键字来实现的,最长支持 1024 个字符. 可以在创建表的时候为表和列添加相应的注释. CREATE TABLE test_comment ( id SERIAL PRIMARY KEY, col1 INT comment '列的注释' ) comment '表的注释';

c语言:实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定

实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表. 程序: #include<stdio.h> void mul(int n)//multiplication 乘法 { int i, j; for (i = 1; i <= n; i++) { for (j = 1; j <= i; j++) { printf("%d*%d=%-2d  ", i, j, i*j); //其中%2d中的2表示

Mysql数据库导出压缩并保存到指定位置备份脚本

#!/bin/bashbackdir=/home/shaowei/dbbakdbuser='dbusername'dbpass='dbpasswd'dblist=$(ls -p /var/lib/mysql | grep / | tr -d /)today=$(date +%Y%m%d)mkdir $backdirmkdir $backdir/$todayfor dbname in $dblistdo mysqldump -u$dbuser -p$dbpass $dbname | gzip -v

为表增加一列属性(补充)

事情变得有意思了,上一篇花1小时撰写的"一分钟"文章,又引起了广泛的讨论,说明相关的技术大家感兴趣,挺好.第一次一篇技术文章的评论量过100,才知道原来"评论精选"还有100上限,甚为欣慰(虽然是以一种自己不愿看到的方式). <啥,又要为表增加一列属性?>的方案颇有争议: (1)版本号version + 扩展字段ext (2)用增加列的key+value方式扩充属性 有些评论,只能说"所谓夏虫,何以语冰"(作者要谦和,请删除).因自己

MySQL为数据表的指定字段插入数据

username not null 没有默认值/有默认值   insert不插入username字段 均不报错 2014年07月23日21:05    百科369 MySQL为数据表的指定字段插入数据 为数据表的指定字段插入数据,就是在INSERT语句中只向部分字段中插入值,而其它字段的值为数据表定义时的默认值. 基本的语法格式如下: INSERT INTO 表名(字段1,字段2,...,字段m) VALUES(值1,值2,...,值m); 字段1,字段2,...,字段m:表示数据表中的字段名称