如果数据库已经有值,但仍然获取ID,如何忽略INSERT?

时间:2015-12-13 20:28:54

标签: php mysql database

我正在尝试忽略INSERT查询这两个值,Answer1Text和Answer2Text已经在数据库中,但仍然得到id (称为AnswerID(主键) )从排?我该怎么做?

我的代码:

$stmt = $conn->prepare("INSERT INTO answers (Answer1Text, Answer2Text) VALUES (?, ?)");
$stmt->bind_param('ss', $text1, $text2);
$stmt->execute();
$answerid = $stmt->insert_id;

重要性表:

回答: AnswerID(PK),Answer1Text,Answer2Text

我试过看ON DUPLICATE KEY UPDATE,但我既不明白如何使用它,也不认为这是正确的选择。

1 个答案:

答案 0 :(得分:1)

最好的方法是首先使用SELECT查询来查询数据库:数据是否已经存在?如果是,请拉出ID并使用它代替插入ID;如果没有,请插入一个新行。你是对的:ON DUPLICATE KEY UPDATE是错误的。