I am trying to ignore an INSERT query if the two values, Answer1Text and Answer2Text are already in the database, but still get the id (called AnswerID (Primary Key) from the row? How can I do this?
My code:
$stmt = $conn->prepare("INSERT INTO answers (Answer1Text, Answer2Text) VALUES (?, ?)");
$stmt->bind_param('ss', $text1, $text2);
$stmt->execute();
$answerid = $stmt->insert_id;
Table of importance:
answers: AnswerID(PK), Answer1Text, Answer2Text
I have tried looking at ON DUPLICATE KEY UPDATE
but I neither understand how to use it, nor do I think it is the right choice.
The best approach is to query your database first using a SELECT
query: does the data already exist? If so, pull out the ID and use that in place of the insert ID; if not, insert a new row. You're right: ON DUPLICATE KEY UPDATE
is wrong for this.