I am trying to use INSERT IGNORE INTO to add a row to a table if it doesn’t already exist.
Here is the statement as it stands right now:
INSERT IGNORE INTO my_table (integer, date) VALUES (11111, CURDATE())
However, since I have an auto-incrementing primary key on the table (that is not part of the insert of course), it always does the insert. Is there a way to disregard the primary key so that if the integer and date are already in the table it will not insert another row with them?
Put a UNIQUE key on the integer and the date, or the combination of the two – whichever fits your needs. That will prevent
INSERT IGNOREfrom inserting values that violate the UNIQUE index.For example if you want to make the combination of the two unique: