我有两个表,table1和table2。 SQL就像:
create table table1(
name varchar(100) PRIMARY key not null
);
create table table2(
id bigint PRIMARY key AUTO_INCREMENT,
username varchar(100) not null );
create trigger trigger_test
after insert
on table1
for each ROW
insert into table2 (username)
select new.name from table1;
每次在table1中插入一行时,该行也应该由我创建的触发器插入到table2中。但在我插入字符串' a'进入table1,似乎没错。
我插入第二个字符串' b'进入table1,结果显示错误。
第二次,table2中的同一行。然后,我继续在table1中插入行,第三次是这样的:
我被困在这里,因为我找不到解决方案。希望得到你的帮助。提前谢谢。
答案 0 :(得分:0)
你的触发器应该是
create trigger trigger_test
after insert
on table1
for each ROW
insert into table2 (username)
values (new.name);
或者
create trigger trigger_test
after insert
on table1
for each ROW
insert into table2 (username)
select new.name from table1 where name = new.name;
不推荐第二种选择。但添加只是为了告诉你问题在哪里