【发布时间】:2010-12-07 15:47:41
【问题描述】:
我正在尝试制作一个实验性 Web 应用程序,以最大限度地减少冗余数据。 我设置了三个示例表,如下所示:
Table one
ID | created_at (unix timestamp) | updated_at (unix timestamp)
Table two
ID | Foreign Key to table one | Title
Table three (pages)
ID | Foreign Keys to both table one and two | Content | Metadata
这个想法是在应用程序中创建的所有内容都有一个创建/编辑时间。
许多(但不是全部)事物都会有标题(例如页面或页面要进入的部分)。
最后,有些东西会有自己特有的属性,例如页面的内容和元数据。
我正在尝试找出将数据输入多个表的最佳方法。我知道我可以从 PHP 执行多个插入查询,跟踪在当前事务中创建的行,并在事务的稍后部分失败时删除这些行。但是,如果 PHP 脚本完全死掉,它可能会在所有删除完成之前停止。
MySQL 是否有任何内置逻辑允许拆分插入查询?触发器是否能够处理此类事务或超出其能力范围?
任何建议、想法或想法将不胜感激。
谢谢!
【问题讨论】:
-
您意识到当用户更改标题两次以上时,您无法确定哪个是原始标题?页面变得更糟......它还会人为地夸大你的数据,存储存档版本 - 这没关系,假设你想支持恢复到以前的版本。