
alter table questionlib modify id int(11) auto_increment;
注意事项:
修改后从下一条记录开始自动增长。如果想让原来的自动增长就得复制现有表的结构(无id),添加id并加上AUTO_INCREMENT,然后通过循环,添加n条空记录,然后对应先前表的id,依次插入数据。
扩展资料:
mysql自动增长开始值设置总结
1、创建表,设置表主键id自动增长,默认自动增长的起始值为1开始。
2、当表数据不为空的时候,重新去修改自动增长id开始值,mysql会主动去核对你设置的起始值是否是当前数据库已有id的最大值+1; 若是则修改成功,若不是则修改不成功 (默认还是id最大值+1)
3、要设置自动增长为1开始,需要清空表数据才行。alter table table_name AUTO_INCREMENT=1
4、若每次直接在数据库里面插入数据,则会自动的去修改当前表的自动增长起始值(设置自动增长起始值为当前插入成功的数据的id)
以数据库为例。可以用如下方法:
1、先建表:
createtabletest
(idintnotnull,namevarchar(10))
2、在图形界面,找到test表:
3、右键此表名,选择“设计”。
4、右侧出现的页面,找到要设置主键的列,ID列,然后右键,选择“设置主键”。
5、下面一步是要设置自增,在左侧列表中,右键“id列”,然后选择“属性”。
6、其中,找到“标识规范”,标识增量为每次增加多少,标识种子代表起始数值大小。
oracle
中不能设置自动增加,这个和其他数据库不一样,但是有
序列,这个是Oracle自己特有的东西,
首先创建序列:
create
sequence
seq;
这就创建好了,然后
seqnextval
就会返回一个值,不会重复的值,
insert
into
tablename
values(seqnextval,'001','javabook');
insert
into
tablename
values(seqnextval,'001','javabook');
insert
into
tablename
values(seqnextval,'001','javabook');
看明白没?这样前3个id
分别是
1,2,3
进入设计表界面
首先将该字段的数据类型选成数值型的,比如decimal或者bigint
然后在下面列的标识处,选择“是”
然后下面两行,标识种子:表示自动增长的起点是几,默认1
标识增量:表示每次自增的时候跨度是多少,默认每次自增1
首先定义个函数试试
create
or
replace
function
times
(intimes
number,
inaddmonth
number)
return
varchar2
is
Result
varchar2(6);
begin
Result
:=substr
to_char(sysdate,'yyyy-mm-dd
hh24:mi:ss',9,16)
return(Result);
end
times;
设置自动增长名称为add_name
CREATE
SEQUENCE
add_name
increment
by
1
--
每次递增1
start
with
0
--
从1开始
nomaxvalue
90
--
没有最大值
minvalue
0
--
最小值=1
NOCYCLE;
--
不循环
insert
into
表名
values(add_name执行进度,times);
-调用函数-
在MySQL中可通过字段的AUTO_INCREMENT属性来自动生成。
mysql数据库表主键自增长的sql语句1、不控制主键的起点
create table emb_t_dictBusType
(
emb_c_busTypeID int not null auto_increment,
emb_c_busTypeEnName varchar(255) not null,
emb_c_busTypeZhName varchar(255) not null,
primary key(emb_c_busTypeID)
)engine=INNODB default charset=gbk;
2、控制主键的起点
create table emb_t_dictBusType
(
emb_c_busTypeID int not null auto_increment,
emb_c_busTypeEnName varchar(255) not null,
emb_c_busTypeZhName varchar(255) not null,
primary key(emb_c_busTypeID)
)engine=INNODB auto_increment=1001 default charset=gbk;
在建立表的时候设置id为自动增长的 [id] [int] IDENTITY (1, 1)
SQL语句是insert into user(name,passwd) values (name ,passwd)。新增一条数据 id 就会自动加1
INSERT INTO是sql数据库中的语句,可以用于向表格中插入新的行。
扩展资料
(1) 数据记录筛选:
sql="select from 数据表 where字段名=字段值 order by字段名[desc]"(按某个字段值降序排列。默认升序ASC)
sql="select from 数据表 where字段名like '%字段值%' order by 字段名 [desc]"
sql="select top 10 from 数据表 where字段名=字段值 order by 字段名 [desc]"
sql="select top 10 from 数据表 order by 字段名 [desc]"
sql="select from 数据表 where字段名in ('值1','值2','值3')"
sql="select from 数据表 where字段名between 值1 and 值2"
(2) 更新数据记录:
sql="update 数据表 set字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
(3) 删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
(4) 添加数据记录:
sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"
sql="insert into 目标数据表 select from 源数据表" (把源数据表的记录添加到目标数据表)
(5) 数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=connexcute(sql)
用 rs("别名") 获取统计的值,其它函数运用同上。
查询去除重复值:select distinct from table1
(6) 数据表的建立和删除:
CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )
(7) 单列求和:
SELECT SUM(字段名) FROM 数据表
参考资料——百度百科SQL insert into
以上就是关于mySQL中如何修改列为自动增长急!!!全部的内容,包括:mySQL中如何修改列为自动增长急!!!、SQL数据库的ID怎么设置为自增(sqlserver设置id自增)、oracle数据库中ID怎么自增长,怎么设置啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)