当父母的相应值发生变化时,修改子记录(更新modified_date和is_delete)

时间:2018-04-17 11:50:51

标签: mysql

我的问题是参考this question

假设我有三个表,user,country和user_activity,其架构/表结构如下: -

|---------------------------------------------|
|   id   |   fname   |  lname   |    status   |
|---------------------------------------------|

国家: -

|--------------------------------|
|   id   |   name   |   status   |
|--------------------------------|

user_activity

|-------------------------------------------------------------------------|
|  id  |  user_id  |  activity_type  |  country_id  |  location  | status | 
|-------------------------------------------------------------------------|

说,我创建这样的用户表: -

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `fname` varchar(255) NOT NULL,
  `lname` varchar(255) NOT NULL,
  `status` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `iduser` (`id`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

然后,我像这样创建国家/地区表: -

CREATE TABLE `country` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `status` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `idcountry` (`id`,`status`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

我想创建一个表user_activity,如果user_activity.user_id与user.id匹配,user_activity记录的状态将根据用户的状态而改变

同时,如果user_activity.country_id与country.id匹配,则user_activity记录的状态将根据国家/地区的状态而变化。

我该怎么做?如何在数据库级别实现目标,而不是通过PHP脚本设置它?

0 个答案:

没有答案