mySQL中如何修改列为自动增长急!!!

mySQL中如何修改列为自动增长急!!!,第1张

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怎么自增长,怎么设置啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10179190.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存