1

我想在新插入时在父表中生成的子表中插入一个值。

认为,

create table head (
head_id int primary key auto_increment,
table_type varchar(60) );

create table table1 (
t1_id int primary key,
name varchar(60) ,
foreign key (t1_id) references head(head_id)
);

create table table2 (
t2_id int primary key,
name varchar(60) ,
foreign key (t2_id) references head(head_id)
);

创建 3 个表头和表 1、表 2。

每当我在 table1 或 table2 中插入值时,我都想要,

insert into table1 (name) values('Hi');

head 和 table1 插入这些值,

select * from head;
id      table_type
.
.
5       table1

select * from table1;

t1_id      name
.
.
5          hi

请注意,头表会自动增加 id。它被插入到子表table1中。如何做到这一点我尝试了以下触发器,但它不起作用。

DELIMITER $$
CREATE
    TRIGGER `t1` BEFORE INSERT
    ON `table1`
    FOR EACH ROW BEGIN
        insert into head (table_type) values ('table1');
        insert into table1 (t1_id,name) values (NEW.head(id),NEW.table1(name));
    END

$$

任何帮助,将不胜感激。

4

0 回答 0