插入之前触发不连接列
问题描述:
我已经创建了一个触发器,第一列和第二列将连接到第三列。插入之前触发不连接列
USE `customer_1`;
DELIMITER $$
CREATE DEFINER=`root`@`%` TRIGGER `Metric1_anpr_vega_BINS` BEFORE INSERT ON `Metric1_anpr_vega` FOR EACH ROW
BEGIN
SET NEW.image_id = CONCAT(NEW.camera_id,'-', NEW.id);
END
Id camera_id image_id
4567 236 236-0
(在这里,我不能当触发它是“0”,而不是4567获得该行的ID)
什么触发会得到插入statment后image_Id ID值exceuted。
如果我插入后使用我得到这个错误 - 新行的更新是不允许在后触发
答
USE `customer_1`;
DELIMITER $$
CREATE DEFINER=`root`@`%` TRIGGER `Metric1_anpr_vega_BINS` AFTER INSERT ON `Metric1_anpr_vega` FOR EACH ROW
BEGIN
SET NEW.image_id = CONCAT(NEW.camera_id,'-', NEW.id);
END
+0
在触发后不允许更新NEW行 – 2014-09-23 11:31:38
使用INSERT代替了。 – VMai 2014-09-23 11:26:34
那么在插入之前,如果它的主键不能获得插入的ID,并且在插入之后无法使用它来更新同一个表。一个想法是获得最后一个ID,然后加1,并设置image_id – 2014-09-23 11:29:24
你能告诉我如何得到最后一个ID。 – 2014-09-23 11:30:31