Sto inserendo alcuni dati in una tabella, ma occasionalmente si scontrano con altri dati nella tabella (cioè ha la stessa chiave primaria).
Mi piacerebbe essere in grado di sovrascrivere solo questi dati se è lì, invece di avere mysql mi invia un messaggio di errore che dice che la loro è una chiave primaria duplicata. So che posso cancellare questi valori in anticipo, ma richiederebbe una query piuttosto ampia.
È possibile sovrascrivere questi in qualche modo e sopprimere eventuali avvisi, oppure sono costretto a rimuovere questi valori.Inserimento in una tabella mysql e sovrascrittura di eventuali dati correnti
risposta
solo un po 'bigino
Mysql ha 3 diversi scenari nella gestione di duplicati delle chiavi primarie:
se si desidera ...
- fare nulla - usa INSERTO IGNORE
- elimina esistente e crea nuovo - usa REPLACE INTO
- aggiornamento esistente - usa ON DUPLICATE UPDATE
È possibile utilizzare sostituire invece di inserire. Guardate http://dev.mysql.com/doc/refman/5.1/en/replace.html
È possibile utilizzare REPLACE INTO in MySQL per fare questo.
REPLACE INTO table
SET name = 'Treffynnon'
Cercare "aggiornamento chiave duplicato".
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
MySQL ha un "INSERT ... DUPLICATO KEY UPDATE ON" comando. Lo si può trovare qui: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
INSERT INTO `table` VALUES ('a', 'b') ON DUPLICATE KEY UPDATE `field1`='a', `field2`='b'
'set field = VALUES (field)' è un'opzione migliore: consente di risparmiare l'utilizzo dei dati due volte nella query. la funzione values () la estrarrà dalla parte di inserimento dell'istruzione per te, quindi i tuoi dati entreranno nella stringa di query solo una volta. –
- 1. Inserimento codice html in una tabella mysql
- 2. Inserimento di record in una tabella MySQL con Java
- 3. Inserimento di dati in una tabella utilizzando HQL in Hibernate
- 4. Inserimento della data e dell'ora correnti nel database SQLite
- 5. Come INSERIRE IN una tabella mysql in un'altra tabella e impostare il valore di una colonna?
- 6. Inserimento di dati binari in MySQL (senza PreparedStatement's)
- 7. inserimento in una tabella di sé
- 8. Mysql/Php - Data e ora correnti
- 9. Inserimento simultaneo con MySQL
- 10. Inserimento nella banca dati
- 11. Inserimento più rapido di record in una tabella con SQLAlchemy
- 12. Inserimento di una matrice php multidimensionale in un database mysql
- 13. inserire dati da una tabella a un'altra in mysql
- 14. Inserimento dati con Node.js
- 15. Aggiungere la colonna di dati a una tabella mySQL esistente
- 16. Eventuali problemi di conversione del campo MySQL TEXT in MEDIUMTEXT?
- 17. Mysql caricare i dati per colonna esistente di una tabella
- 18. Inserimento di più righe in una tabella di SQL Server utilizzando una variabile di tabella
- 19. Approccio tabella sessione MySQL
- 20. Inserimento di una riga di tabella vuota con un'altezza minore
- 21. Come scrivere una query mysql che leggerà i dati da una tabella e scriverà in un'altra?
- 22. Creazione di una "Tabella numeri" in mysql
- 23. In MySQL Workbench, l'utilizzo di "Importazione guidata dati tabella" per importare CSV crea una tabella vuota
- 24. Eliminare, troncare o rilasciare per pulire una tabella in MySQL
- 25. Inserimento datetime in MySql db
- 26. SQLAlchemy: Inserimento i risultati di una query in un'altra tabella
- 27. Inserimento di una colonna di tabella con jQuery
- 28. Inserimento di datetime in una tabella MS SQL utilizzando pyodbc
- 29. Qual è il tipo di dati ideale per memorizzare l'indirizzo IP in una tabella mysql?
- 30. Come gestire una grande tabella in MySQL?
Mi piace l'auto promozione spudorata. –