MySQL语法错误 - 尝试更新行而不删除/创建新主键

时间:2014-11-08 09:45:29

标签: php mysql

让我的PHP脚本失败后,我在SQL中尝试了这个及其多种变体 - 它告诉我我的语法错误。

INSERT INTO qarows (questions, answers) VALUES(test, test) WHERE id='735'

这是我的数据库结构:http://imgur.com/GEnwgvm


这是我开始使用的PHP脚本:

function updateDatabase($compare){
    $update = $this->dbh->prepare("
            INSERT INTO qarows (
            questions, answers, updateTimeUnicode, updateTimeNatural
            ) VALUES (
            :questions, :answers, :updateTimeUnicode, :updateTimeNatural
            ) WHERE id=:id
            ");
    $update->execute(array(
        ':questions' => $this->question, 
        ':answers' => $this->answer,
        ':updateTimeUnicode' => $this->updateTimeUnicode,
        ':updateTimeNatural' => $this->updateTimeNatural,
        ':id' => $this->id
        ));

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

语法必须像这样

更新qarows设置问题='某些内容',答案='其他内容',updateTimeUnicode ='无论什么'其中id = 735;

答案 1 :(得分:0)

你不能在主键(id列)已经存在的地方插入一行,我相信你要做的就是更新它:

UPDATE qarows SET questions = 'test', answers 'test' WHERE id='735'