如果未提交文件将SQL列设置为NULL

时间:2014-02-26 00:04:43

标签: php sql sql-server forms

我正在尝试制作一个用户可以提交5张图片的表单。提交的图像名称将保存到我的MSSQL表格列photo photo,photo1,photo2,photo3和photo4。这些列都在同一个表new_trailers1中。如果用户仅上传前三个输入中的图片并留下最后两个输入,则应将列设置为photo = image.jpg photo1 = image2.jpg photo2 = image3.jpg photo3 = {{1} }和photo4 = NULL。目前,图像被保存为空而不是NULL。例如,photo3的列设置为NULL。以下是用户提交表单时我的PHP代码:

感谢您的帮助。感谢所有帮助。

2 个答案:

答案 0 :(得分:1)

如果您使用MSSQL作为标记建议,那么:

UPDATE new_trailers1 SET (photo=NULL, photo1=NULL, photo2=NULL, photo3=NULL, photo4=NULL) WHERE (photo='',photo1='',photo2='',photo3='',photo4='')

应该是

UPDATE new_trailers1 SET photo=NULL, photo1=NULL, photo2=NULL, photo3=NULL, photo4=NULL WHERE photo='' AND photo1='' AND photo2='' AND photo3='' AND photo4=''

这只会更新所有照片都是空白的地方。因此,如果您想根据每个字段的唯一值更新每个字段,则需要发出四个单独的更新语句,每个照片字段一个。

答案 1 :(得分:0)

我认为你可以从数据库设置中解决它。 尝试转到SQL表,单击“结构”,然后编辑并在必填字段中将NULL设置为默认值。