0
我试图通过将行插入到phpmyadmin中的数据库后组合字段来创建ID。我得到一个错误下列触发语句的第3行:无法在phpmyadmin中创建触发器mysql
DROP TRIGGER IF EXISTS `scanID2`;
CREATE DEFINER=`root`@`localhost`
TRIGGER `scanID2`
AFTER INSERT ON db_name.`scan_data`
FOR EACH ROW
BEGIN
UPDATE db_name.scan_data
SET @data1 = concat(RIGHT(scanContent,2), RIGHT(operatorID,2), RIGHT(deviceID,2), RIGHT (scanDate, '-', ''), REPLACE (scanTime, ':', ''));
INSERT INTO db_name.scan_data(scanID) VALUES (@data1);
END
//
的错误是:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE DEFINER=`root`@`localhost`
TRIGGER `scanID2`
AFTER INSERT ON db_name' at line 2
OK,所以我得到的查询执行的怎么样。触发器已经创建,但我不认为它做它应该做的。记录不会更新。下面是新的代码:
BEGIN
SET @data1 = concat(RIGHT(scanContent,2), RIGHT(operatorID,2), RIGHT(deviceID,2), REPLACE (scanDate, '-', ''), REPLACE (scanTime, ':', ''));
INSERT INTO vacseen1_connect.scan_data(scanID) VALUES (@data1);
END
什么是错误讯息?还要提供完整的触发语句 – 2015-04-03 16:15:40
,您仍然需要在触发器内终止语句,即使用分号。我不确定你想要做什么更新声明。它是什么样的触发器? – 2015-04-03 16:16:49
我想'scanID'为来自scanContent,operatorID,deviceID,scanDate和scanTime的数字组合。我从Android设备获取这些细节,并在这些细节的scanID列中插入一个空白''。插入后,我希望表格更新为新创建的行的触发器。 – kurious 2015-04-03 16:25:35