我有一个简单的php物业出租系统CMS。现在,我一直坚持将新属性添加到数据库中。
我的数据库:
properties: propertyId, imageId, town, num of rooms etc..
propertyid
是主键自动递增,imageId是外键images: imageId, image (image path with image name)
imageId
是主键自动递增:因此,在我的PHP中,向数据库添加新属性时,我有2条SQL语句(如果这样做不好,请更正我)。
首先插入图像值(“ imagepath / imagename.jpg”)。
第二个查询将插入属性值(镇,numOfrooms等)。
因此,我已将图像插入数据库,然后要向数据库中插入属性,单击添加属性后,我在这里进行错误检查,
我收到消息“图像已成功保存”到数据库,但随后出现错误消息:
无法添加或更新子行:外键约束失败:CONSTRAINT
properties_ibfk_4
外键(imageId
)参考images
(imageId
))这是我首先插入图像然后插入属性的正确方法吗?
最佳答案
如果您尝试将属性添加到同一行,而只是添加了图像,则需要使用UPDATE而不是INSERT
简化示例
UPDATE propertyName WHERE image = imageIJustInserted
插入/创建行后,您实际上只能对其进行更新。您不能再插入其中。