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