用唯一值构建我的数据库 table
structuring my database table with unique value
我正在使用 Fat Free Framework 创建我的数据库驱动的应用程序。我创建它是为了根据 ID 轻松存储我的测试结果。 ID 是字母和数字的组合,例如 A01 到 A100 然后 B01 到 B100 等等。现在,我在信 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
上的唯一索引
我正在使用 Fat Free Framework 创建我的数据库驱动的应用程序。我创建它是为了根据 ID 轻松存储我的测试结果。 ID 是字母和数字的组合,例如 A01 到 A100 然后 B01 到 B100 等等。现在,我在信 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
上的唯一索引