我想在新插入时在父表中生成的子表中插入一个值。
认为,
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
$$
任何帮助,将不胜感激。