mysql - 在另一行中添加行时在数据库中添加新列

时间:2017-05-31 03:05:41

标签: mysql database

我目前有一个存储用户,门和具有访问权限的表的数据库。我主要是手动编辑数据库(如果重要的话,在Mac上使用Sequel Pro)。但是,当每个门旁边的读卡器扫描卡片时,还会有一个PHP脚本查询数据库。

例如,门桌存储位置,门ID,以及它的内部还是外部。用户表包含用户标识,名称和注释。访问表需要存储用户,门和时间限制。当前设置了访问表,其中包含三列:用户ID,门ID和表限制。我发现这不起作用。每次我需要更改用户ID(这是他们的访问卡的ID,如果他们失去它或它会中断,将会改变),或门ID(这是读卡器的mac地址,如果例如,读者被替换,我需要更换50行,每扇门一行。

理想情况下,我希望像这样设置访问表:

+-------------+-----------------------------------+-----------------------------------+-----------------------------------+
|   User ID   |            (door 1 id)            |            (door 2 id)            |            (door 3 id)            |
+-------------+-----------------------------------+-----------------------------------+-----------------------------------+
| (user 1 id) | (time limit for user 1 on door 1) | (time limit for user 1 on door 2) | (time limit for user 1 on door 3) |
| (user 2 id) | (time limit for user 2 on door 1) | (time limit for user 2 on door 2) | (time limit for user 2 on door 3) |
+-------------+-----------------------------------+-----------------------------------+-----------------------------------+

我想要这样既可以让它在视觉上易于查看,又易于编辑,而无需创建更多代码来直观地向用户表示。但主要是,我希望这样,所以我可以在此表中为用户ID创建一个关系,并使其引用users表中的用户ID。

我尝试创建一个触发器来添加列,更新列的门ID,并在门表中添加门时更改列,更改门表中的门ID或删除门门桌。但是,似乎触发器无法控制列。

有没有其他方法可以做到这一点?

0 个答案:

没有答案