在MySQL下创建自动递增字段
create table article //先创建一个表
(
id int primary key auto_increment //设置该字段为自动递增字段
title varchar( )
)
insert into article values (null a ) //向数据库中插入数据
select * from article 结果如下
Id
Title
a
insert into article values (null b )
insert into article values (null c )
insert into article (title) values ( d )
select * from article 结果如下
Id
Title
a
b
c
d
但是oracle没有这样的功能 但是通过触发器(trigger)和序列(sequence)可以实现
假设关键字段为id 建一个序列 代码为
create sequence seq_test_ids minvalue maxvalue start with increment by nocache order <! [if !supportLineBreakNewLine] ><! [endif] >
建解发器代码为
lishixinzhi/Article/program/Oracle/201311/18903方法一:
如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
truncate
table
表名
方法二:
dbcc
checkident
('table_name',
reseed,
new_reseed_value)
当前值设置为
new_reseed_value。如果自创建表后没有将行插入该表,则在执行
dbcc
checkident
后插入的第一行将使用
new_reseed_value
作为标识。否则,下一个插入的行将使用
new_reseed_value
+
1。如果
new_reseed_value
的值小于标识列中的最大值,以后引用该表时将产生
2627
号错误信息。
方法二不会清空已有数据, *** 作比较灵活,不仅可以将自增值归零,也适用于删除大量连续行后,重新设置自增值并插入新的数据;或从新的值开始,当然不能和已有的冲突。
$sql="delete
from
$table_vote"
mysql_query($sql,
$link)
$sql="alter
table
$table_vote
auto_increment=1"
mysql_query($sql,
$link)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)