INSERTING到数据库时MySQL错误号:1064

时间:2016-12-30 11:50:41

标签: php mysql sql-insert mysql-error-1064

下面是我的表,它类似于另一个现有表。但是在执行查询时出现了一个错误。

//
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个多小时试图做到这一点。

1 个答案:

答案 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() . "'"