Ho una tabella con una chiave unica per due colonne:INSERT ... ON KEY duplicati (non fare nulla)
CREATE TABLE `xpo`.`user_permanent_gift` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`fb_user_id` INT UNSIGNED NOT NULL ,
`gift_id` INT UNSIGNED NOT NULL ,
`purchase_timestamp` TIMESTAMP NULL DEFAULT now() ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `user_gift_UNIQUE` (`fb_user_id` ASC, `gift_id` ASC));
voglio inserire una riga nella tabella che, ma se la chiave esiste, a fare niente! Non voglio che venga generato un errore perché esistono le chiavi.
So che c'è la seguente sintassi:
INSERT ... ON DUPLICATE KEY UPDATE ...
ma c'è qualcosa di simile:
INSERT ... ON DUPLICATE KEY DO NOTHING
?
solo per aggiungere IGNORA dopo l'INSERIMENTO, il resto della sintassi è lo stesso? – ufk
@ufk: 'INSERIRE IGNORA' senza la parte' ON DUPLICATE KEY', ad es. 'INSERIRE IGNORA INTO xpo.user_permanent_gift (...) VALUES (...)' – BoltClock
Nota che INSERT IGNORE ignora anche altri errori come errori di conversione dei dati. – mjcopple