比方说我一张表里的一个字段为varchar类型,我想按照一定的格式自动增长
例如:第一条为:S2002001
第二条为:S2002002
那么第三条插入时我想让它自动为:S2002003
请问这应该怎么做到呢
例如:第一条为:S2002001
第二条为:S2002002
那么第三条插入时我想让它自动为:S2002003
请问这应该怎么做到呢
解决方案 »
- mysql请假信心跨月的统计
- mysql多表删除 快点 再快点....
- mysqldump备份文件,文件名是myql加日期,但只需要保留7天的内容,脚本如何写。
- MySQL 已经创建好了表 然后想设置自动增长列
- 如何从mysql 字段中提取值..
- 问一多级查询语句
- 我想我数据库中插入100万条数据做测试,用的是简单的循环,为什么循环执行到342次时会连接不上数据库,以后的循环有时能够连上!
- 如何使自己增加的用户有建库的权限?
- MySQL怎么载入文件
- linux 下mysql 1045问题
- .net 访问 带有输出参数的存储过程,为什么无法获得输出参数值?
- delete from user a , log b where 错误
你有两种方法。
1. 建两个字段 f1 varchar(5), f2 int auto_increment , 其中 f1 为 'S2002' 通过select 查询可以形成 concat(f1,mid(10000+f2,2)), 或者简单点只需要一个f2 int字段,然后直接 concat('S',2002000+f2)2. 利用触发器。显然,以你一楼的需求说明为准,建议直接使用方法一。
不是再建一张表,而是把你目前这张表的这个字段改为int 在触发器中能写正则表达式完成这一操作 这个正则表达式请问应该怎么写啊
触发器中也不需要用正则啊,直接取到最大的这个字段,然后取出数字部分+1就行了。
create table user(
user_name varchar(20) not null primary key auto_increment,
password varchar(20) not null,
author int(4) not null
)auto_increment=00000000;但不知道为啥会报错。
“1063-Incorrect column specifier for column 'user_name'”
create table user(
user_name varchar(20) not null primary key auto_increment,
password varchar(20) not null,
author int(4) not null
)auto_increment=00000000;但不知道为啥会报错。
“1063-Incorrect column specifier for column 'user_name'”
user_name int unsigned not null primary key auto_increment,
password varchar(20) not null,
author int(4) not null
)auto_increment=00000000
后来自己又改了一下。