查找最后添加的1:m行或添加引用

时间:2016-03-22 04:49:20

标签: mysql sql

我保留更改的历史数据,并使用单独的行(item_status_id)来存储上次添加的状态:

CREATE TABLE `item`(
  `item_id`        INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `item_status_id` INT UNSIGNED NOT NULL REFERENCES item_status(item_status_id),
  PRIMARY KEY (`item_id`)
);

CREATE TABLE `item_status`(
  `item_status_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  `ts_created`     TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `info`           TEXT,
  PRIMARY KEY (`item_status_id`)
);

问题是更新需要应用程序(或存储过程)更新item_status_id表的item行,但它使我的1:1连接变得简单,与使用时间戳排序的TOP记录加入。

更好的做法是在子查询上使用JOIN TOP,还是更依赖应用程序的表设计?

0 个答案:

没有答案