我想在子表中插入一个值,该值在新插入时在父表中生成。
假设,
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个表头和table1,table2。
我希望每当我在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
请注意,head表会自动增加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
$$
任何帮助都将不胜感激。