我想要创建一个触发器,其中子表从父表中提取所有存在的记录。
我在新表中创建了将父表主键引用为外键的子表。
CREATE OR REPLACE TRIGGER trigger name
AFTER INSERT ON table_name(parent_table)
FOR EACH ROW
BEGIN
insert statement for child table;
END;
上面的触发器是为将要插入post到子表创建的记录创建的,我想将所有旧记录(在创建子表之前都存在)推到新的子表中。扳机能帮你调出所有的旧唱片吗?
我只是在子表中引用父表的外键。当我试图从父表中删除引用在子表中的行时,令人惊讶的是,它允许我删除它。我曾尝试通过在delete restrict上写命令来显式地创建子表,但是没有得到任何帮助。你知道为什么会发生这种情况吗?下面是我在创建表格时使用的代码。
CREATE TABLE region
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NULL
);
CREATE TABLE aggregator
(
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50) NOT NUL
数据模型设计需要输入
我叫parent_table
id (PK)
current_version
latest_child_id
child_table as
id (PK)
parent_table_id (FK to parent)
version (running number . largest number implies latest child record)
parent_table与child_table的关系为1:m。此外,parent_table还保存一个指向子表中记录的最新版本的指针。
系统将在child_table中插入n个可变行,并更新parent_table以指
我想知道在数据库的子表中使用重复的id有什么利弊。
例如,考虑表parent
create table parent (
id int,
a text,
b text
)
这个parent有一个引用它的child1表:
create table child1 (
id int,
parent_id int not null references parent(id),
c text,
d text
)
一切都很好,没有什么不寻常的。当你继续往下钻的时候,问题就出现了:
create table child2 (
id int,
child1_id int n
我试图使用Spring /Hibernate来维护一个父表,该表基于Id与子表相关。如果我尝试两次插入同一个对象,则父表将得到正确的“更新”,但是即使子表中的条目已经存在,子表始终被插入到其子表中。
CREATE TABLE `parent_table` (
`parent_id` int(11) NOT NULL AUTO_INCREMENT,
`ex_column_1` int(11) NOT NULL, // there is a unique constraint on this field - I just didn't include it
`ex_column
我有两个实体,BidirectionalActivity(家长)和会话(子)。我想先保存父表,一旦创建了会话或子表,我就想更新父表并插入子表。
Below is my Schema
CREATE TABLE BIDIRECTIONAL_ACTIVITIES (
id bigint(20) NOT NULL AUTO_INCREMENT,
status VARCHAR(255) NOT NULL,
conversationId bigint(20),
PRIMARY KEY(id)
}
create unique index index_conversationId on BIDIRECT