十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、停止mysql服务
创新互联公司成都网站建设按需定制,是成都网站营销公司,为护栏打桩机提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站营销推广热线:13518219792
2、删除mysql的data目录下的,除mysql这个目录外的其他目录(为保险期间,先移走)
3、重启myql即可
如果是使用MyISAM引擎的表,可以有两种方式来设置表中自增字段的起始值,无需重建表。可以在mysql使用手册中查找下 alter table,然后查找 auto_increment 就可以看到手册中有关于自增id字段的起始值设定的方法:For MyISAM tables, you can set the first sequence number by executing SET INSERT_ID=value before ALTER TABLE or by using the AUTO_INCREMENT=value table option.意思是:如果是使用MyISAM引擎的表,可以通过执行SQL: "SET INSERT_ID=value";或者使用 alter table 语句修改表结构,然后加上 AUTO_INCREMENT = value 选项来指定自增起始值。
1、首先新建一张表结构。
2、select * from t_temp_test 查看下这张表已经建好在数据库里面了。
3、查看该t_temp_test表结构 sp_help t_temp_test,可以看到字段column_b 的默认值定义为空,默认属性是DF__t_temp_te__colum__19DA45DB。
4、修改表的默认值先要把表的默认属性删除了才能修改,删除表的默认属性。
5、删除之后再执行sp_help t_temp_test,这个时候默认值属性已经被删除了的。
6、然后再重新给字段新加上默认属性alter table t_temp_test add constraint DF__t_temp_te__colum__19DA45DB DEFAULT (('123')) for column_b。
7、执行完毕再查询表结构sp_help t_temp_test可以看到表的默认值已经被更改为字符串‘123’。
创建表时设置递增ID:
create table users (pkid int auto_increment primary key,...)
表创建完成后设置递增ID:
alter table users add pkid int auto_increment primary key
注意:自增字段,一定要设置为primary key.
很多时候不希望pkId从1开始,我们可能希望他从10000开始:
alter table users AUTO_INCREMENT=10000;
4
你也可以修改现有的递增值, 比如大批量删除数据后,想id从654321退回123456开始:
alter table users AUTO_INCREMENT=123456;
一、修改自增长序列的值
alter table table_name auto_increment=n;
注意:n只能大于已有的auto_increment的整数值,小于的值无效.
show table status like 'table_name' 的返回结果里的auto_increment列就是表的现有值.
二、控制主键的起点
create table 表名
(
......
) engine=INNODB auto_increment=1001 default charset=gbk;
三、自增主键归零
如果曾经的数据都不需要的话,可以直接清空所有数据,并将自增字段恢复从1开始计数
truncate table 表名
四、获取自增主键
通过SQL select LAST_INSERT_ID()函数
通过SQL @@IDENTITY 变量
五、说明
AUTO_INCREMENT数据列必须有唯一索引,以避免序号重复。
AUTO_INCREMENT数据列必须具备NOT NULL属性。
设置AUTO_INCREMENT属性的数据列应该是一个正数序列,所以应该把该数据列声明为UNSIGNED,这样序列的编号个可增加一倍。
mysql如何设置默认值
mysql设置默认值的方法:用mysql建数据表设置默认值,代码为【stuSex varchar(2) default '男' check(stuSex in('男', '女'))】。
mysql设置默认值的方法:
create table stu(
stuId varchar(30) primary key,
stuName varchar(50) not null,
stuSex varchar(2) default '男' check(stuSex in('男', '女')),
stuJg varchar(30),
stuDept varchar(40)
)
用mysql建数据表设置默认值:
int 类型:default 1; (直接加数值)
varchar类型:default 'aaa'(用单引号)
另:经试验,在mysql中default 要写在 check之前,否则报错