在查询sql语句时,我们的golang程序出现问题,如下所示。
"数据库/sql";
sqlStatement := `
UPDATE user_posts SET
content = $2,
post_image = CASE WHEN ($3 IS NULL) THEN post_image ELSE $3 END,
updated_at = NOW()
WHERE id = $1
`
发现答案参数$3无法与子句"进行比较;IS NULL";固定如下。
sqlStatement := `
UPDATE user_posts SET
content = $2,
post_image = CASE WHEN $3 != '' THEN $3 ELSE post_image END,
updated_at = NOW()
WHERE id = $1
`