想實作一個在向一個表里插入一條資料后,根據插入的資料,新建一張表
delimiter $$
create trigger ceate_table
before insert on test
for each row
begin
create table new.tablename as select * from temptable where 1=2;
end $$
delimiter ;
create會報錯,想改成動態sql,但是MySQL的觸發器不支持動態sql,所以有沒有知道該怎樣實作這個功能的?
uj5u.com熱心網友回復:
不可以實作你這個功能,建議把 create table 和 insert 放在一個存盤程序中。每次來呼叫這個程序。原因:create table 屬于 DDL,DDL不能回滾,而 insert / update 屬于 DML ,DML 可以回滾。
uj5u.com熱心網友回復:
Execute Immediate 'create table ‘ 執行建表陳述句在觸發器使用
uj5u.com熱心網友回復:
動態去執行的,正常是不能create table的。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/90984.html
標籤:MySQL
