【发布时间】:2014-06-02 08:36:05
【问题描述】:
我有一个问题: 我的数据库中有 2 个表:
articles:
id useid title
users
id name surname
我的看法:
Author<select name="author" id="author">
<?php foreach ($users as $u): ?>
<option value="<?php $u['id'] ?>" <?php if($u['id']==$a['userid']): ?> selected="selected" <?php endif ?> style="width:300px"><?php echo $u['name'] ?> <?php echo $u['surname'] ?></option>
<?php endforeach; ?>
</select>
<p><b>Content:</b></p>
<textarea name="content" id="content" style="width:605px; height: 300px;" rows="200"><?php echo $a['content']; ?></textarea>
我的控制器:
$this->db->query("UPDATE articles SET title='$title',userid='$author' WHERE id=$aid" );
当我这样做时,我收到错误 1452:无法添加或更新子行:外键约束失败(myblog.articles,CONSTRAINT articles_ibfk_1 FOREIGN KEY (userid) REFERENCES admindetails (id)在更新级联时删除级联)
请大家帮帮我....
【问题讨论】:
-
错误消息似乎确切地说明了问题是什么:更新后的
articles.userid与任何admindetails.id值都不匹配......列/关系名称似乎“奇怪” ”。 (另见stackoverflow.com/questions/60174/…) -
在问题的开头,您说您的表名为
users,但您的错误消息表明userid引用了一个名为admindetails的表。这是两个不同的表吗?是否有可能您设置了引用错误表的外键?
标签: php mysql sql codeigniter-2