Triggers #1064尝试创建触发器sql时出错

Triggers #1064尝试创建触发器sql时出错,triggers,mariadb,Triggers,Mariadb,当我试图运行应该创建触发器的sql代码时 create trigger userid_to_tokens after insert on users as begin insert into tokens (token_id) select i.user_id from users t inner join inserted i on t.user_id=i.user_id end 错误:#1064-您的SQL语法有错误;

当我试图运行应该创建触发器的sql代码时

create trigger userid_to_tokens
after insert on users
as
begin
    insert into tokens
        (token_id)
        select i.user_id
        from users t
        inner join inserted i on t.user_id=i.user_id
end
错误:#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第3行使用“as begin insert into tokens(token_id)select i.user_id”的正确语法


如上的mariadb文档所示,在
begin
关键字之前没有
As
关键字。语法错误消息中引用的代码表明了这一点,它以
作为…

开始代码摘录,将
作为
替换为
,对于每一行
,更改分隔符,在MySQL中它是
新的
,而不是插入的

delimiter //
create trigger userid_to_tokens
after insert on users
for each row
begin
    insert into tokens (token_id) VALUES (NEW.user_id);
end
//
delimiter ;