我正在尝试在PHP管理员中创建以下触发器但是会收到以下错误。我已将分隔符设置为“//
”,但仍然没有运气。有帮助吗?
为了获取您的信息,该表名为“users
”,我正在尝试将UUID
添加到主键“user_id
”
CREATE TRIGGER user_id_users_insert BEFORE INSERT ON 'users'
FOR EACH ROW
BEGIN
SET NEW.user_id=UUID();
END;
#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在''users'附近使用正确的语法 对于每一行 开始 SET NEW.user_id = UUID(); END'在第1行
答案 0 :(得分:0)
引用'用户'单引号'字符导致它被解析为字符串文字(在CREATE TRIGGER语句的ON子句中无效),而不是作为SQL对象标识符(例如表名,这是MySQL期望看到的),如果引用,必须使用反引号`字符(或者,如果启用了MySQL的ANSI_QUOTES SQL模式,则使用双引号和#34;字符)。请参阅何时使用单引号,双引号和反引号? - @eggyal