下面是我的表,它类似于另一个现有表。但是在执行查询时出现了一个错误。
//
public function addFirstChild() {
$this->db->query("INSERT INTO " . $this->db->table("genealogy") . "
WHERE parent_id = '" . (int)$this->getSponsorID() . "'
SET first_child = '" . (int)$this->getId()."',
genealogy_id = '" . (int)$this->getId() ."'");
}
执行时我得到以下错误:
SQL错误:SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便使用正确的语法,以便在' WHERE parent_id =' 1' SET first_child =' 2','在第2行 错误号码:1064 SQL:INSERT INTO ci_genealogy WHERE parent_id =' 1' SET first_child =' 2',genealogy_id =' 2'在第108行的C:\ wamp64 \ www \ s1nb2 \ core \ database \ amysqli.php
没有别的方法我可以想到拉这个功能,我已经在网上搜索并阅读了多个相同错误的帖子,但仍然没有解决方案。请帮忙。我花了4个多小时试图做到这一点。
答案 0 :(得分:3)
由于您正在使用WHERE
,因此您似乎想要更改现有记录。您想要UPDATE
,而不是INSERT
"UPDATE " . $this->db->table("genealogy") . "
SET first_child = '" . (int)$this->getId()."', genealogy_id = '" . (int)$this->getId() ."'
WHERE parent_id = '" . (int)$this->getSponsorID() . "'"