Ich habe einfach mySql Frage ähnlich wie SO „Update mysql Spalte“ Ich habe eine Tabelle table1 mit mindestens zwei Spalten Spalten und eine Reihe von Zeilen: [key_col | col_a | col_other] Ich möchte zu update eine Spalte col_a wenn key_col = Nummer existiert oder einfügen wenn nicht existiert. Ich muss zuerst auswählen oder aktualisieren, automatisch einfügen?aktualisieren oder Einfügen mysql Spalte
0
A
Antwort
0
Wenn key_col ein Primärschlüssel ist, dann ersetze es in statt einzufügen in ..... ersetzen in wird einfügen wenn der Schlüssel nicht existiert sonst aktualisiere wenn der Schlüssel existiert.
2
Siehe diese Antwort: Insert into a MySQL table or update if exists
Was Sie sagte: „Ich aktualisieren möchten, wenn Schlüssel oder fügen Sie existiert nicht, wenn vorhanden“ ist gleichbedeutend mit der umgekehrten Reihenfolge: „einfügen, wenn nicht oder zu aktualisieren besteht, wenn vorhanden“, weil die 2 Fälle schließen sich gegenseitig aus.
Zuerst sicherstellen, dass key_col
einen eindeutigen Index hat (wie: Primärschlüssel). Dann würde das funktionieren:
insert into
`table1`
(`key_col`, `col_a`, ...)
values
(123, 234, ...)
on duplicate key update
`col_a` = 234, ...;
Bei "..." die anderen Felder platzieren.
Verwandte Themen
- 1. einfügen oder aktualisieren, wenn MYSQL Exist
- 2. Python MySQL Einfügen oder Aktualisieren von Variablen
- 3. PHP MYSQL Einfügen/Aktualisieren
- 4. Mysql-Spalte basierend auf vorhandenen Daten einfügen/aktualisieren
- 5. Pandas einfügen oder aktualisieren?
- 6. wie zu aktualisieren, wenn existiert oder einfügen
- 7. Einfügen/Aktualisieren zufälliges Datum in MySQL
- 8. Einfügen oder aktualisieren, wenn in mysql mit Pandas
- 9. Aktualisieren oder Einfügen einer MySQL-Datenbank mit 60 Millionen Einträge
- 10. Einfügen oder Aktualisieren einer Zeile mit MySQL-Trigger
- 11. einfügen oder aktualisieren, wenn bereits
- 12. T-SQL Einfügen oder Aktualisieren
- 13. Einfügen oder Aktualisieren in Laravel?
- 14. NHibernate Bulk einfügen oder aktualisieren
- 15. Einfügen oder Aktualisieren basierend auf Primärschlüssel
- 16. einfügen oder aktualisieren in postgresql 9.1
- 17. mysql Tabelle aktualisieren Php Php einfügen Code
- 18. mysql einfügen/nicht-breaking Leerzeichen aktualisieren
- 19. Verwenden von Löschen, Aktualisieren, Einfügen in MySQL
- 20. MYSQL, Einfügen/Aktualisieren, wenn sonst Anweisung
- 21. MySQL-Prozedur mit Einfügen und Aktualisieren
- 22. Nach Einfügen MySQL Prüfwerte zu aktualisieren oder eine neue Zeile in einer anderen Tabelle einfügen
- 23. Mehrere Werte in eine Spalte einfügen mysql?
- 24. Limit einfügen in Spalte in Mysql
- 25. in delete Werte in mysql Spalte einfügen
- 26. Spalte beim Einfügen in MySQL überspringen
- 27. Upsert (aktualisieren oder einfügen) in Sybase ASE?
- 28. Können Sie selektiv einfügen oder aktualisieren?
- 29. Hibernate, einfügen oder aktualisieren ohne Auswahl
- 30. PostgreSQL Trigger auf Einfügen oder Aktualisieren
http://dev.mysql.com/doc/refman/5.7/de/replace.html "REPLACE funktioniert genau wie INSERT, außer dass eine alte Zeile in der Tabelle den gleichen Wert wie eine neue Zeile für eine PRIMARY KEY oder ein UNIQUE-Index, die alte Zeile wird gelöscht "- Wie ändert man nur ein Feld als UPDATE und erhält anderes Feld? – Saku
Ist es möglich, einen zusammengesetzten eindeutigen Schlüssel in allen anderen Feldern außer dem zu ändern, der aktualisiert wird – prashant
SO "mysql Ersetze nur einige Felder" - INSERT INTO gfs (localidad, fecha, pp) WERTE ('some_place', ' 2012-08-05 02:00 ', 1.6) ON DUPLICATE KEY UPDATE pp = WERTE (pp); – Saku