数据库如何创建表的主键,格式为当前日期+当日当前数量,例:201712120001,工具phpmyadmin。
日期+编号:Select CONVERT(varchar(100), GETDATE(), 112)+‘001’
建议编号写成一个函数,你也方便调用。
函数里,首先统计此表已有条数count(),然后计算当前日期+编号,一般情况是年月+编号,在年月上substring(上面日期,0,6)。
最好专门建一个tabCount表,专门管理所有表的ID大小,每次累加。
表的主键,在创建表的时候就在ID varchar(50) primary key 即可。
如果后来要修改,alter table 表名 add constraint 主键名 primary key (column1,column2,....,column)
你说的是当前日期+编号吧,也就是把一个字符串设置为数据库主键吗?
如果是这样,使用SQL就好了:
ALTER TABLE tablename
DROP PRIMARY KEY,
ADD PRIMARY KEY (name
, keyname
);
其中tablename是你当前操作的表名,keyname为要设置为主键的字段名
这个你可以在程序里面处理把,只需要把数据库的主键字段,比如id设置为主键就可以,然后在程序里面直接往数据库里面新增数据就可以了。
建议你把数据库的主键字段,然后在数据库里面新增数据。
数据库辣么多,mysql?oracle?postgrep?mongdb?influxdb?
主键直接存那个格式的就好
create table table_name ( col_name col_datatype,col_name1 col_datatype1,constrain pri_name primary key(col_name)) (举个栗子)
select CONVERT(varchar(100), GETDATE(),112)+CONVERT(varchar(100),b.a)
from ( select count(*) as a from table_name ) b
使用Navicat直接选中所要改的表右键设计表在要添加主键的栏位点下就好了
数据库中都可以使用 可以设定一个序列 然后设定一个定时任务 每天0点0分0秒更新序列为0 然后和日期拼接就好额
创建表的时候直接在想的字段加 primary key
后来要修改,alter table 表名 add constraint 主键名 primary key (column1,column2,....,column)
数据库这样设置比较麻烦,需要写函数,可以直接在编译器里面创建一个类用来计算主键
建议自增id作为主键,时间和数量的复合体作为属性,如果非要强迫症,id和该复合属性可以构建联合主键
创建日期和时间的字段,然后设置联合主键
create table tablename( date varchar(20), time varchar(20), primary key (date,time) );