Bei der Arbeit mit mehrspaltigen eindeutigen Bezeichnern in MySQL entsteht die Herausforderung, sowohl Aktualisierungen als auch effizient zu handhaben Einfügungen. Obwohl die Syntax „UPDATE ON DUPLICATE KEY“ eine geeignete Lösung zu sein scheint, erfordert sie einen eindeutigen Schlüssel, um zu funktionieren.
Sie können jedoch einen zusammengesetzten Schlüssel aus mehreren Spalten erstellen, der „UPDATE ON DUPLICATE KEY“ ermöglicht. um wie gewünscht zu funktionieren. So gehen Sie vor:
Um einen zusammengesetzten Schlüssel zu erstellen, verwenden Sie die folgende Syntax:
CREATE INDEX <index_name> ON <table_name> (<column1>, <column2>);
Lassen Sie uns beispielsweise einen zusammengesetzten Schlüssel erstellen für die in der Frage erwähnte dreispaltige Tabelle:
CREATE INDEX unique_index ON my_table (col_1, col_2);
Sobald der zusammengesetzte Schlüssel erstellt wurde, können Sie „UPDATE ON DUPLICATE KEY“-Abfragen ausführen, um Datensätze basierend auf den Schlüsselwerten entweder zu aktualisieren oder einzufügen. Die Syntax lautet wie folgt:
INSERT INTO <table_name> (col_1, col_2, col_3) VALUES ('value1', 'value2', 'value3') ON DUPLICATE KEY UPDATE col_3=col_3+1;
Wenn in dieser Abfrage bereits ein Datensatz mit den angegebenen Werten von col_1 und col_2 vorhanden ist, wird col_3 um 1 erhöht. Andernfalls wird ein neuer Datensatz eingefügt.
Das obige ist der detaillierte Inhalt vonWie können zusammengesetzte Schlüssel die „UPDATE ON DUPLICATE KEY'-Leistung von MySQL verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!