【发布时间】:2014-05-29 18:59:58
【问题描述】:
我有一个表,其中有一个自动递增列 id 和另一列 ord。
我的目标是为ord 设置一个“默认”值,即id。我正在使用触发器(见下文),但它始终使用 0 而不是 id 值。
当我从 id 中删除 auto_increment 时,它可以正常工作。 如何将字段的“默认”值设置为 auto_increment 字段之一?
表格
CREATE TABLE IF NOT EXISTS `mytable` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ord` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
);
触发器
CREATE TRIGGER `ord_ai` BEFORE INSERT ON `mytable`
FOR EACH ROW IF NEW.ord IS NULL THEN
SET NEW.ord := NEW.id;
END IF
【问题讨论】:
标签: mysql sql triggers default-value