我知道MySQL中的自动增量是基于整数。
但我需要另一个id作为自定义生成的一个自动递增的I /当前年份,同时插入记录。
EG:
ID CID
1 1/2017
2 2/2017
有没有办法实现它?
提前致谢
答案 0 :(得分:0)
在表格数据中创建可导出的值通常是糟糕的设计。这样的事情怎么样:
create table table1 (
id int auto_increment primary key,
tstamp timestamp default current_timestamp,
username varchar(32)
);
insert into table1 values (DEFAULT, DEFAULT, "user1");
select id, YEAR(tstamp), username from table1;
如果您正在使用程序来检索数据,那么该程序可以用您喜欢的格式显示它。
但如果您希望让mysql为您生成显示,那么这样的事情也会起作用:
select id, concat(id, "/", YEAR(tstamp)), username from table1;
答案 1 :(得分:0)
我能看到让每个人重置每年ID的唯一方法是使用自动增量字段并使用2017000000之类的起始值,然后在下一年将下一个值设置为2018000000。 如果你想要根据需要对字段进行格式化,你可以使用一个视图,这样字符串操作就可以通过MySQL完成并呈现给你一些像
select TRIM(LEADING '0' from concat(right(concat(2017000001),6),'/',left(concat(2017000001),4))) from dual