Navicatsql 设置主键自增增 自动增长 Navicat中怎么设置主键自增长

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
用navicat手动删除了mariadb数据表的记录,再次写入的时候,自增id会继续,不会从1开始。
比如,原来有10条记录,全部清空,再次写入数据,id会从11开始,怎么让他重新从1开始呢?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
重新设置当前序号为1啊,在表设计里有选项
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
在navicat 8 for mysql中怎么设置id自动增加
浏览次数:0
在添加或变更表结构时,把id字段设置为整型,下面的选项就会出现auto increment的选择框,勾选中就可以了.
不知道下面这条知识能否帮助到您
“懒人经济”的概念日趋走热,懒人产品凭借其方便的使用感受,及周到的细节服务受到越来越多人的认可。同样,在家装市场中,不少懒人设计也受到多数业主的欢迎,越来越多的普遍化,走进千家万户。
8个一生推的懒人居家设计!
207692浏览
手机动态登录
请输入用户名/邮箱/手机号码!
请输入密码!
没有房天下通行证,
ask:2,asku:1,askr:38,askz:15,askd:6,RedisW:0askR:1,askD:66 mz:nohit,askU:0,askT:0askA:69
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:21096人阅读
数据库(7)
原地址:http://www.111cn.net/database/mysql/60352.htm
本文章是由一个简单的Mysql自增初始值的一个例子引导出大量的关于mysql主键获取 修改及一些常用的例子,下面我们一起来看看希望例子对各位会有帮助。
alter table table_name auto_increment=n;
注意n只能大于已有的auto_increment的整数值,小于的值无效.
show table status like 'table_name' 可以看到auto_increment这一列是表现有的值.
步进值没法改变.只能通过下面提到last_inset_id()函数变通使用
Mysql可以使用AUTO_INCREMENT来设定主键的值为自增长的,其默认值是1,如果想把它的初始值设置为1000,比较笨的办法是先插入一条记录并指定主键的值为999,然后delete改行记录,例如:
insert into test(pk) values(999);
delete from test where pk = 999;
更好的方法是使用alter的方法来直接修改,例如:
alter table test AUTO_INCREMENT = 1000;
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=
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=
自增主键归零
如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从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);
获取自增主键【4种方法】
通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键。本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值:
通过JDBC2.0提供的insertRow()方式
通过JDBC3.0提供的getGeneratedKeys()方式
LAST_INSERT_ID()函数
通过SQL @@IDENTITY 变量
1. 通过JDBC2.0提供的insertRow()方式
自jdbc2.0以来,可以通过下面的方式执行。
Statement stmt =
ResultSet rs =
&&& stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,& // 创建Statement
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& java.sql.ResultSet.CONCUR_UPDATABLE);
&&& stmt.executeUpdate(&DROP TABLE IF EXISTS autoIncTutorial&);
&&& stmt.executeUpdate(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 创建demo表
&&&&&&&&&&& &CREATE TABLE autoIncTutorial (&
&&&&&&&&&&& + &priKey INT NOT NULL AUTO_INCREMENT, &
&&&&&&&&&&& + &dataField VARCHAR(64), PRIMARY KEY (priKey))&);
&&& rs = stmt.executeQuery(&SELECT priKey, dataField &&&&&&&&&&&&&&&&& // 检索数据
&&&&&& + &FROM autoIncTutorial&);
&&& rs.moveToInsertRow();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 移动游标到待插入行(未创建的伪记录)
&&& rs.updateString(&dataField&, &AUTO INCREMENT here?&);&&&&&&&&&&&&& // 修改内容
&&& rs.insertRow();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 插入记录
&&& rs.last();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 移动游标到最后一行
&&& int autoIncKeyFromRS = rs.getInt(&priKey&);&&&&&&&&&&&&&&&&&&&&&&& // 获取刚插入记录的主键preKey
&&& rs.close();
&&& System.out.println(&Key returned for inserted row: &
&&&&&&& + autoIncKeyFromRS);
}& finally {
&&& // rs,stmt的close()清理
2. 通过JDBC3.0提供的getGeneratedKeys()方式
Statement stmt =
ResultSet rs =
&&& stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& java.sql.ResultSet.CONCUR_UPDATABLE);&
&&& // ...
&&& // 省略若干行(如上例般创建demo表)
&&& // ...
&&& stmt.executeUpdate(
&&&&&&&&&&& &INSERT INTO autoIncTutorial (dataField) &
&&&&&&&&&&& + &values ('Can I Get the Auto Increment Field?')&,
&&&&&&&&&&& Statement.RETURN_GENERATED_KEYS);&&&&&&&&&&&&&&&&&&&&& // 向驱动指明需要自动获取generatedKeys!
&&& int autoIncKeyFromApi = -1;
&&& rs = stmt.getGeneratedKeys();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& // 获取自增主键!
&&& if (rs.next()) {
&&&&&&& autoIncKeyFromApi = rs.getInt(1);
&&& }& else {
&&&&&&& // throw an exception from here
&&& rs.close();
&&& System.out.println(&Key returned from getGeneratedKeys():&
&&&&&&& + autoIncKeyFromApi);
}& finally { ... }
使用AUTO_INCREMENT时,应注意以下几点:
AUTO_INCREMENT是数据列的一种属性,只适用于整数类型数据列。
设置AUTO_INCREMENT属性的数据列应该是一个正数序列,所以应该把该数据列声明为UNSIGNED,这样序列的编号个可增加一倍。
AUTO_INCREMENT数据列必须有唯一索引,以避免序号重复。
AUTO_INCREMENT数据列必须具备NOT NULL属性。
AUTO_INCREMENT数据列序号的最大值受该列的数据类型约束,如TINYINT数据列的最大编号是127,如加上UNSIGNED,则最大为255。一旦达到上限,AUTO_INCREMENT就会失效。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:159815次
积分:2095
积分:2095
排名:第18961名
原创:57篇
转载:16篇
评论:30条
(3)(2)(3)(4)(1)(1)(2)(1)(2)(3)(15)(8)(2)(5)(2)(1)(1)(8)(9)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'博客分类:
创建数据库,创建表。
mysql& create database ssh2;
Query OK, 1 row affected (0.04 sec)
mysql& use ssh2;
Database changed
mysql& create table user(
-& id integer primary key,
-& firstname varchar(200) not null,
-& lastname varchar(200) not null,
-& age integer
Query OK, 0 rows affected (0.46 sec)
给主键增加一个自增的功能:
mysql& alter table user modify id integer auto_
Query OK, 1 row affected (0.28 sec)
Records: 1
Duplicates: 0
Warnings: 0
这样,上面的user表里面的主键,id可以自增了。
给上面的主键id增加默认值和自增功能。
mysql& alter table user modify id integer auto_
Query OK, 0 rows affected (0.39 sec)
Records: 0
Duplicates: 0
Warnings: 0
mysql& alter table user modify id integer default '1';
Query OK, 0 rows affected (0.16 sec)
Records: 0
Duplicates: 0
Warnings: 0
mysql& alter table user modify id integer auto_
Query OK, 1 row affected (0.28 sec)
Records: 1
Duplicates: 0
Warnings: 0
MySql获取系统时间:
mysql& alter table user add createtime timestamp default current_
Query OK, 2 rows affected (0.17 sec)
Records: 2
Duplicates: 0
Warnings: 0
MySql设置主键不能为空,还要自动增长(这里没有设置默认值,但是默认是1,从1开始增长。),还要得到系统默认日期:
mysql& create table dd(
-& id int primary key not null auto_increment,
-& name varchar(20),
-& time timestamp default current_timestamp
Query OK, 0 rows affected (0.10 sec)
mysql& insert into dd(name) values ('fhihgifds');
Query OK, 1 row affected (0.14 sec)
mysql& insert into dd(name) values ('steven');
Query OK, 1 row affected (0.08 sec)
mysql& select *
+----+-----------+---------------------+
| id | name
+----+-----------+---------------------+
1 | fhihgifds |
01:58:46 |
2 | steven
01:59:35 |
+----+-----------+---------------------+
2 rows in set (0.08 sec)
mysql& insert into dd(name) values ('anthony');
Query OK, 1 row affected (0.09 sec)
mysql& select *
+----+-----------+---------------------+
| id | name
+----+-----------+---------------------+
1 | fhihgifds |
01:58:46 |
2 | steven
01:59:35 |
3 | anthony
02:00:07 |
+----+-----------+---------------------+
3 rows in set (0.00 sec)
浏览 76610
stevenjohn
浏览: 950210 次
来自: 深圳
FileInputStream不要关闭啊?
在试用联通的wo邮箱的时候,uid是null的。目前其他邮箱正 ...
理解很有深度,赞一个!2015年6月 MS-SQL Server大版内专家分月排行榜第一2015年5月 MS-SQL Server大版内专家分月排行榜第一2015年4月 MS-SQL Server大版内专家分月排行榜第一2015年3月 MS-SQL Server大版内专家分月排行榜第一2015年2月 MS-SQL Server大版内专家分月排行榜第一2015年1月 MS-SQL Server大版内专家分月排行榜第一2014年12月 MS-SQL Server大版内专家分月排行榜第一2014年11月 MS-SQL Server大版内专家分月排行榜第一2014年10月 MS-SQL Server大版内专家分月排行榜第一
2017年1月 总版技术专家分月排行榜第二
2016年12月 总版技术专家分月排行榜第三
2015年6月 MS-SQL Server大版内专家分月排行榜第一2015年5月 MS-SQL Server大版内专家分月排行榜第一2015年4月 MS-SQL Server大版内专家分月排行榜第一2015年3月 MS-SQL Server大版内专家分月排行榜第一2015年2月 MS-SQL Server大版内专家分月排行榜第一2015年1月 MS-SQL Server大版内专家分月排行榜第一2014年12月 MS-SQL Server大版内专家分月排行榜第一2014年11月 MS-SQL Server大版内专家分月排行榜第一2014年10月 MS-SQL Server大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 plsql设置主键自增 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信