我有两张桌子:一张和两张。我在表1中有一个主键(id)。
表一:
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 表二
CREATE TABLE two AS (SELECT id,salary ,CONCAT(first_name, ',', last_name) AS Name from one)现在将外键添加到id,如下所示:
ALTER TABLE two
ADD CONSTRAINT `0_38775` FOREIGN KEY (id)
REFERENCES one(id) ON DELETE CASCADE ON UPDATE CASCADE表one中的值与表two相同
id salary name 现在,为了维护引用完整性,如何在更新table one时更新table two的值。我也不能从table one中删除行,也不能在table two中插入行。
如何在更新/插入table two时更新table one的所有列。或显式插入到table two中
发布于 2013-12-30 23:02:46
对于delete,当您从表1中删除行时,与该id相对应的所有行都将从表2中删除。
对于update,如果您希望在表1中更改名字和姓氏时更新表2中的名字和姓氏,则必须为此编写一个更新trigger。
https://stackoverflow.com/questions/20841659
复制相似问题