mysql 创建触发器出错_mysql-在phpmyadmin中创建触发器时出错

在尝试创建一个名为trig1的MySQL触发器时遇到了#1064错误。触发器设计为在urlcontent表上发生插入操作后,将新数据插入到userpost表中。错误出现在SQL语法的第三行。urlcontent和userpost表的结构已给出,包括各自的主键字段。问题可能在于SQL语句的拼写或语法错误。
摘要由CSDN通过智能技术生成

我创建了非常简单的触发器,我认为syntex也正确:

CREATE TRIGGER trig1 after INSERT ON urlcontent for each row

BEGIN

insert into userpost(userid,url,hash) values (userid,url,hash);

END;

给出错误:

#1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第3行的”附近使用正确的语法

两种表的结构:

CREATE TABLE urlcontent (

userid text NOT NULL,

url varchar(255) NOT NULL,

`desc` varchar(2048) NOT NULL,

preview varchar(255) NOT NULL,

img_url varchar(128) NOT NULL,

title varchar(128) NOT NULL,

`hash` varchar(128) NOT NULL,

rate varchar(20) DEFAULT NULL,

`time` varchar(64) DEFAULT NULL,

sentiment varchar(32) DEFAULT NULL,

`subject` varchar(64) DEFAULT NULL,

PRIMARY KEY (`hash`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--

-- Table structure for table 'userpost'

--

CREATE TABLE userpost (

userid varchar(40) NOT NULL DEFAULT '',

url varchar(255) DEFAULT NULL,

`desc` varchar(2048) DEFAULT NULL,

preview varchar(255) DEFAULT NULL,

img_url varchar(128) DEFAULT NULL,

title varchar(128) DEFAULT NULL,

`hash` varchar(128) NOT NULL DEFAULT '',

rate varchar(16) DEFAULT NULL,

`time` varchar(64) DEFAULT NULL,

pcount varchar(16) DEFAULT NULL,

ncount varchar(16) DEFAULT NULL,

isset varchar(16) DEFAULT NULL,

sentiment varchar(32) DEFAULT NULL,

`subject` varchar(64) DEFAULT NULL,

PRIMARY KEY (userid,`hash`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

哈希和网址是userpost表中的关键/

两个表的结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值