我正在使用Fat Free Framework来创建我的数据库驱动的应用程序。我创建它可以根据ID轻松存储我的测试结果。 ID是字母和数字的组合,如 A01 到 A100 ,然后 B01 到 B100 ,依此类推。现在,我正在写信 H 。
每个ID都是唯一的列,因此没有两个ID可以相同。我正在检索与此ID相关的所有数据 HTTP://本地主机/监视器/ A01
现在我的问题是,当今年(2017年)结束时,ID将被恢复为2018年数据的 A01 。 我的表结构如下
+---------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+------------------+------+-----+---------+----------------+
| monitorId | int(10) unsigned | NO | PRI | NULL | auto_increment |
| monitor_label | char(5) | NO | UNI | NULL | |
| casting_date | date | YES | | NULL | |
| casting_time | time | YES | | NULL | |
| clientId | int(10) unsigned | NO | MUL | NULL | |
| projectId | int(10) unsigned | NO | MUL | NULL | |
| gid | int(10) unsigned | NO | MUL | NULL | |
| mid | int(10) unsigned | NO | MUL | NULL | |
| techId | int(10) unsigned | NO | MUL | NULL | |
| cube_size | int(1) unsigned | NO | MUL | NULL | |
| remark | varchar(255) | YES | | NULL | |
| slump | int(3) | NO | | NULL | |
| sample | int(11) | NO | | NULL | |
| data_status | int(10) unsigned | NO | | NULL | |
+---------------+------------------+------+-----+---------+----------------+
A01 数据存储在monitor_label
答案 0 :(得分:0)
您忘了表达您的问题,但我相信您想知道如何构建数据库。
我看到两个解决方案:
1)您要么处理PHP中的系列唯一性,因此您只需要将monitor_label
上的唯一索引替换为非唯一索引
2)或者在数据库中存储新的monitor_year
列,并将monitor_label
上的唯一索引替换为monitor_year,monitory_label
上的复合唯一索引