0

我正在检查列值是否为空白,因为我需要向其添加 1。这实际上是我的问题here的后续行动

我的上一个问题

我正在做

INSERT INTO posts (post_user_id, gen_id)  SELECT 1, IFNULL((MAX(gen_id)+1 FROM
posts),0);

这里有什么问题?

我不断收到某种错误。

4

2 回答 2

4

尝试用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
于 2012-11-08T06:02:29.453 回答
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
于 2012-11-08T06:06:27.077 回答