我有一个简单的 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”)。
第二个查询插入属性值(town、numOfrooms 等)。
所以我已将图像插入数据库,然后我想将属性插入数据库,在单击添加属性后我进行了错误检查,
我收到消息“图像已成功保存”到数据库,但随后我收到错误消息:
Cannot add or update a child row: a foreign key constraint fails : CONSTRAINT
properties_ibfk_4
FOREIGN KEY (imageId
) REFERENCESimages
(imageId
))
这是我首先插入图像然后插入属性的正确方法吗?
最佳答案
如果您尝试将属性添加到刚刚添加图像的同一行,则需要使用 UPDATE 而不是 INSERT 过度简化的示例
UPDATE propertyName WHERE image = imageIJustInserted
一旦插入/创建了一行,您实际上只能更新它。您无法再次插入其中。
关于php - 带有 INSERT 语句的简单 PHP CMS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374091/