首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >delete cascade上update cascade的外键约束

delete cascade上update cascade的外键约束
EN

Stack Overflow用户
提问于 2013-12-30 22:38:11
回答 1查看 11K关注 0票数 1

我有两张桌子:一张和两张。我在表1中有一个主键(id)。

表一:

代码语言:javascript
复制
CREATE TABLE `one` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`first_name` varchar(10) NOT NULL,
`last_name` varchar(10) NOT NULL,
`salary` int(100) NOT NULL,
`login_date_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1

id    first_name    last_name    salary  login_date_time 

表二

代码语言:javascript
复制
CREATE TABLE two AS (SELECT id,salary ,CONCAT(first_name, ',', last_name) AS Name from one)

现在将外键添加到id,如下所示:

代码语言:javascript
复制
ALTER TABLE two
ADD CONSTRAINT `0_38775` FOREIGN KEY (id)
REFERENCES one(id) ON DELETE CASCADE ON UPDATE CASCADE

one中的值与表two相同

代码语言:javascript
复制
id    salary       name  

现在,为了维护引用完整性,如何在更新table one时更新table two的值。我也不能从table one中删除行,也不能在table two中插入行。

如何在更新/插入table two时更新table one的所有列。或显式插入到table two

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-30 23:02:46

对于delete,当您从表1中删除行时,与该id相对应的所有行都将从表2中删除。

对于update,如果您希望在表1中更改名字和姓氏时更新表2中的名字和姓氏,则必须为此编写一个更新trigger

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20841659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档