我试图找出一个触发器来分配自动递增的“ID”主键字段的值,该字段在插入到另一个字段“Sort_Placement”时自动生成,因此插入后它们是相同的。
如果您想知道我为什么要这样做,'Sort_Placement' 用作表中可以更改的排序值,但默认情况下,记录被添加到表的底部
表数据
`ID` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`Account_Num` mediumint(8) unsigned NOT NULL,
`Product_Num` mediumint(8) unsigned NOT NULL,
`Sort_Placement` mediumint(8) unsigned DEFAULT NULL,
`Order_Qty_C` smallint(6) NOT NULL DEFAULT '0',
`Order_Qty_B` smallint(6) NOT NULL DEFAULT '0',
`Discount` decimal(6,2) NOT NULL DEFAULT '0.00',
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`)
插入触发器后
CREATE
TRIGGER `order_guide_insert_trigger`
AFTER INSERT ON `order_guide`
FOR EACH ROW
BEGIN
IF Sort_Placement IS NULL THEN
SET Sort_Placement = NEW.ID;
END IF;
END;
我尝试了一堆使用“NEW”前缀的组合,但没有成功。例如,将 NEW 前缀放在每个字段名称之前。
试一试
INSERT INTO `order_guide` (`Account_Num`, `Product_Num`) VALUES ('5966', '3');
插入错误
ERROR 1054: Unknown column 'Sort_Placement' in 'field list'