【发布时间】:2017-02-20 03:29:11
【问题描述】:
我有两张桌子。表 A 和 B。表 A 有一列以自增为主键。
id name date_created
1 Kletian 12-12-12 12:12:12
2 Vormav 12-12-12 12:12:13
3 Agrias 12-12-12 12:12:14
4 Ramza 12-12-12 12:12:15
表 B 应该有一个引用表 A 中 id 的外键。但是由于 id 是自动递增的(由 mysql 生成),我无法使用服务器端编程来分配它(我使用 PHP 插入)。但是,在表 A 中,有一列 date_created 带有 datetime 属性。
通常情况下,表 B 应如下所示:
id images
1 abc.jpg
1 def.png
1 ghi.jpg
2 jkl.png
3 mno.jpeg
3 pqr.png
这是我对 B 桌的计划:
date_created images
12-12-12 12:12:12 abc.jpg
12-12-12 12:12:12 def.png
12-12-12 12:12:12
12-12-12 12:12:13
12-12-12 12:12:14
12-12-12 12:12:14 pqr.png
注意:
- 通过服务器端编程 (PHP) 获取自动增量值并不可靠。由于用户可以删除记录并弄乱订单。
- 我更改表结构的权限有限。小改动是可以的,但大改动是禁止的。
- 我的计划安全还是有其他选择?
【问题讨论】:
-
表 B 应该有另一列是对表 A 的外键引用,如果这是您想要关联数据的方式。我不会使用日期时间作为外键引用。
-
您的团队有什么重大变化?设置外键并更改表上的索引是一个小改动?在您的设计中,表 B 中是否会有多行具有相同的日期时间?另外,不要得到你的第一个笔记。删除搞乱了什么顺序?
-
@Alfabravo 没有。只有一个日期时间(date_created)和几列将包含字符串/文本。
-
@srayhunter 根据我的表结构对我有什么建议吗?
标签: php mysql sql-server database