我正在编写存储过程,这是我正在使用的代码
delimiter $$
CREATE TRIGGER le_trigger
AFTER INSERT ON inbox
FOR EACH ROW
BEGIN
declare last_inserted_number VARCHAR(100) DEFAULT '0800100200' NOT NULL;
declare last_inserted_message VARCHAR(100) DEFAULT 'Lorem Ipsum' NOT NULL;
set last_inserted_number = NEW.in_number;
set last_inserted_message = NEW.in_message;
insert into transactions (message,tel) values(last_inserted_message,last_inserted_number);
END$$
delimiter ;
当我执行此操作时,我收到此错误
/ * SQL错误(1064):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 语法使用附近' NOT NULL DEFAULT' 0800100200&#39 ;;宣布 last_inserted_message VARCHAR(100)NOT N'在第5行 / / 受影响 rows:0找到的行:0警告:0 0的1个查询的持续时间:0.000 秒。 * /
问题似乎在于我宣布这个变量
declare last_inserted_number VARCHAR(100) DEFAULT '0800100200' NOT NULL;
declare last_inserted_message VARCHAR(100) DEFAULT 'Lorem Ipsum' NOT NULL;
为什么在varchar设置好默认值时出现错误?