我正在检查列值是否为空,因为我需要向其添加1。这实际上是我的问题的后续跟进
我在做
INSERT INTO posts (post_user_id, gen_id) SELECT 1, IFNULL((MAX(gen_id)+1 FROM
posts),0);
这里有什么问题?
我不断收到某种错误。
答案 0 :(得分:3)
尝试用COALESCE
INSERT INTO posts (post_user_id, gen_id)
SELECT 1, COALESCE((MAX(gen_id)+1) ,0)
FROM posts
或IFNULL
INSERT INTO posts (post_user_id, gen_id)
SELECT 1, IFNULL((MAX(gen_id)+1) ,0)
FROM posts
答案 1 :(得分:1)
尝试案例
INSERT INTO posts (post_user_id, gen_id) values
SELECT 1,
case when gen_id IS null then (select MAX(gen_id) from posts)
else 0
end