当我在表中插入一行时,如果未指定id,我希望id的行为类似于AUTO_INCREMENT。我尝试用触发器做了一次尝试,但我不能让它工作。它总是尝试将id设置为0.这是我的尝试:
CREATE TRIGGER inc_id BEFORE INSERT ON project
FOR EACH ROW BEGIN
DECLARE new_id integer;
IF NEW.id is null THEN
SELECT MAX(a.id)+1 INTO new_id FROM (SELECT id FROM project UNION SELECT 0 id) a;
SET NEW.id = new_id;
END IF;
END
然后我尝试插入一行:
INSERT INTO project(projekt) VALUES("test")
我也尝试过:
SELECT COALESCE(MAX(id),0)+1 INTO new_id FROM project
这是一个更简单的选择,但问题仍然存在。
答案 0 :(得分:0)
我只使用AUTO_INCREMENT解决了这个问题。显然它可以作为默认值。