Delimiter$$
CREATE TRIGGER after_finisher_update
AFTER UPDATE ON Booklist1
FOR EACH ROW
BEGIN
UPDATE Booklist1
SET Finished = 'yes'
WHERE Current_Page = Page_Count
END $$
我有一个包含多列的表格,形成了一个书单(书名,作者...等)。我希望我的“完成”列(默认为否)在current_page = page_count后切换为“是”。
谢谢。
答案 0 :(得分:0)
MySQL使用; 标记语句的结尾。
定义过程,函数或触发器时,将使用多个语句。
您需要告诉mysql函数/过程/触发语句的结尾在哪里。
如果键入 delimeter // ,我将使用 // 表示语句的结尾。
所以这个块:
select now() ;
do sleep(1) ;
select now() ;
可以替换为:
delimiter //
select now() //
do sleep(1) //
select now() //
delimiter ;
使用 $$ 作为分隔符创建触发器的示例:
delimiter $$
create trigger trg_table_insert after insert on table
for each row
begin
insert into table_log ( dml_type , col_a,col_b , col_c ) value ( 'I', new.col_a,new.col_b,new.col_c );
end
$$
delimiter ;
每次AND ,我将分度计恢复为; 。
^^^^^^^^这样做是为了使mysql具有常规行为。