假如有这样一个需求,在餐馆叫号系统中,每天叫的号都必须从1号开始,那么如何设计一张表,来保存每天的叫号记录呢?
比如要求保存的数据如下:
叫号日期
叫号号码
手机号
就餐人数
CALL_DATE
CALL_NUMBER
PHONE
PEOPLE_COUNT
2015/1/1
1
15888888888
1
2015/1/1
2
15888888889
8
2015/1/1
3
15888888890
8
2015/1/1
4
15888888891
2
2015/1/1
5
15888888892
8
2015/1/1
6
15888888893
4
2015/1/1
7
15888888894
2
2015/1/2
1
15888888895
3
2015/1/2
2
15888888896
7
2015/1/2
3
15888888897
6
2015/1/2
4
15888888898
3
2015/1/2
5
15888888899
2
2015/1/2
6
15888888900
8
2015/1/2
7
15888888901
6
2015/1/2
8
15888888902
10
2015/1/2
9
15888888903
3
2015/1/2
10
15888888904
2
2015/1/2
11
15888888905
1
2015/1/3
1
15888888906
5
2015/1/3
2
15888888907
2
2015/1/3
3
15888888908
5
2015/1/3
4
15888888909
7
2015/1/3
5
15888888910
1
2015/1/3
6
15888888911
1
那么,可以设计一张如下表来保存数据:
CREATE TABLE CALL_NUMBER_RECORD(
CALL_DATE DATE NOT NULL,
CALL_NUMBER INT NOT NULL,
PHONE VARCHAR(20) NOT NULL,
PEOPLE_COUNT SMALLINT NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gbk COMMENT='叫号记录表';
那么这张表的PK,就可以设定为CALL_DATE+CALL_NUMBER,这很简单。可如何能让表中的数据,随着日期的增加而自动增长呢?很明显,我们可以将CALL_NUMBER字段设置为自增类型。像下面这样:
CREATE TABLE CALL_NUMBER_RECORD(
CALL_DATE DATE NOT NULL,
CALL_NUMBE