Mailinglisten-Archive |
Peter Linzenkirchner schrieb: > Hallo, > > ich muss in einer mysql-Tabelle in zwei Datensätzen den inhalt eines > Felder tauschen (also inhalt von datensatz 1 in 2 und von 2 in 1). Mit > zwei SELECT und zwei UPDATE Anweisungen geht das natürlich, aber das > sind vier Datenbankqueries für einen Vorgang. Ginge es auch einfacher? > Im mysql-Manual bin ich nicht fündig geworden. entweder über eine zweite Tabelle oder weiteres leeres Feld in der selben Tabelle, dann bekommst du es in einem Query: UPDATE [table] SET [temp_field] = [field1], [field1] = [field2], [field2] = [temp_field] WHERE ... oder UPDATE [table], [temp_table] SET [temp_table].[temp_field] = [table].[field1], [table].[field1] = [table].[field2], [table].[field2] = [temp_table].[temp_field] WHERE ... eventuell ginge auch ein UPDATE [table], [table] AS table_copy SET [table].[field1] = [table_copy].[field2], [table].[field2] = [table_copy].[field1] WHERE [table].[field1] = [table_copy].[field1] AND [table].[field2] = [table_copy].[field2] ... ... da weiß ich aber nicht wie sich da MySQL verhält, habs noch nicht probiert .... -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive