如何解决原则继承映射-在更新到ID字段时添加级联
我已经用单独的表继承映射设置了数据,但是Doctrine似乎对此提供了非常有限的控制。
在其他问题中,我得到的是它仅在DELETE上级联。
(我使用XML映射)
据我所知,级联被放置在关系标签内,而关系标签在使用继承映射的ID列中是不存在的。
没有简单的方法来确保我的数据保持一致吗? (例如,如果从外部访问)?
否则,即使对我的数据行进行简单的更新也会变得很复杂,因为它会违反约束条件。
EDIT @Cerad:这是一个示例工作示例。我使用MariaDB 10.3.22
CREATE DATABASE kaskade;
USE kaskade;
CREATE TABLE a (main_id INT PRIMARY KEY);
CREATE TABLE b (fk_id INT PRIMARY KEY);
INSERT INTO a (main_id) VALUES (1),(2),(3);
INSERT INTO b (fk_id) VALUES (1),(3);
ALTER TABLE b ADD CONSTRAINT id_link FOREIGN KEY (fk_id) REFERENCES a(main_id) ON UPDATE CASCADE;
SELECT * from a;
SELECT * from b;
UPDATE a SET main_id = main_id + 10 WHERE main_id > 1;
#UPDATE b SET id = 5 where id = 1; // Would be rejected,since the cascade must come from the "parent"
SELECT * from a;
SELECT * from b;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。