我得到了一个类似的查询:
"UPDATE snakes_tb
SET snake_pic_urls= CONCAT(snake_pic_urls,'*".$newSnakePic."'),
snake_default_pic = '".$Set_a_Value_here_only_if_this_field_is_empty_or_equal_to_NO_PIC."' WHERE snake_id={$id}"
在设置{value}值之前,可以做些什么才能满足snake_default_pic
字段的条件?感谢。
答案 0 :(得分:2)
只需更新哪里只更新没有pic的地方:
UPDATE snakes_tb
SET snake_pic_urls= CONCAT(snake_pic_url,'*".$newSnakePic."'),
snake_default_pic = '".$pic."'
WHERE snake_id={$id}
AND (snake_default_pic = '' OR snake_default_pic='NO_PIC')
请注意,您的代码也容易受到SQL注入攻击。准备好的陈述可以帮助防止这种情况发生。
答案 1 :(得分:2)
试试这个:
UPDATE snakes_tb
SET snake_pic_urls= CONCAT(snake_pic_urls,'*".$newSnakePic."'),
snake_default_pic = IF(snake_default_pic = '' OR snake_default_pic = 'NO_PIC' ,'default_pic',snake_default_pic)
WHERE snake_id={$id}
如果snake_default_pic
为空或等于NO_PIC,则会更新为default_pic
,否则会保持相同的值