用唯一值构建我的数据库 table

structuring my database table with unique value

我正在使用 Fat Free Framework 创建我的数据库驱动的应用程序。我创建它是为了根据 ID 轻松存储我的测试结果。 ID 是字母和数字的组合,例如 A01A100 然后 B01B100 等等。现在,我在信 H.

每个 ID 都是一个唯一的列,因此两个 ID 不能相同。我正在像这样检索与 ID 相关的所有数据 http:///localhost/monitor/A01.

现在我的问题是,当今年 (2017) 结束时,ID 将恢复为 A01 以获取 2018 年的数据。 我的table结构如下

+---------------+------------------+------+-----+---------+----------------+
| 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

你忘了表达你的问题,但我相信你想知道如何构建你的数据库。

好吧,我看到了两个解决方案:

1) 要么你处理 PHP 中的系列唯一性,因此你只需要将 monitor_label 上的唯一索引替换为非唯一索引

2) 或者您在数据库中存储一个新的 monitor_year 列并用 monitor_year,monitory_label

上的复合唯一索引替换 monitor_label 上的唯一索引