Heim > Datenbank > MySQL-Tutorial > Eine Erklärung der zweispaltigen Datenmethode in der MySQL-Austauschtabelle

Eine Erklärung der zweispaltigen Datenmethode in der MySQL-Austauschtabelle

jacklove
Freigeben: 2018-06-09 09:40:59
Original
2012 Leute haben es durchsucht

1. Erstellen Sie Tabellen und Datensätze zum Testen

CREATE TABLE `product` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '产品id', `name` varchar(50) NOT NULL COMMENT '产品名称', `original_price` decimal(5,2) unsigned NOT NULL COMMENT '原价', `price` decimal(5,2) unsigned NOT NULL COMMENT '现价', PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `product` (`id`, `name`, `original_price`, `price`) VALUES (NULL, '雪糕', '5', '3.5'), 
(NULL, '鲜花', '18', '15'), 
(NULL, '甜点', '25', '12.5'), 
(NULL, '玩具', '55', '45'), 
(NULL, '钱包', '285', '195');
Nach dem Login kopieren

2. Tauschen Sie die Werte von original_price und price aus

Neulinge können die folgenden Methoden verwenden, um

mysql> select * from product;
+----+--------+----------------+--------+| id | name   | original_price | price  |
+----+--------+----------------+--------+|  1 | 雪糕   |           5.00 |   3.50 |
|  2 | 鲜花   |          18.00 |  15.00 |
|  3 | 甜点   |          25.00 |  12.50 |
|  4 | 玩具   |          55.00 |  45.00 ||  5 | 钱包   |         285.00 | 195.00 |
+----+--------+----------------+--------+5 rows in set (0.00 sec)
Nach dem Login kopieren
< auszutauschen 🎜> Aber das Ergebnis dieser Ausführung führt nur dazu, dass die Werte von original_price und price beide der Wert von price sind, da die Aktualisierung sequentiell erfolgt.

führt zuerst
original_price=price aus, den Wert von „original_price“ wurde auf „price“ aktualisiert. Führen Sie dann
price=original_price aus, was keiner Aktualisierung entspricht.

Ausführungsergebnis:

update product set original_price=price,price=original_price;
Nach dem Login kopieren

Die korrekte Austauschmethode lautet wie folgt:

mysql> select * from product;
+----+--------+----------------+--------+| id | name   | original_price | price  |
+----+--------+----------------+--------+|  1 | 雪糕   |           5.00 |   3.50 |
|  2 | 鲜花   |          18.00 |  15.00 |
|  3 | 甜点   |          25.00 |  12.50 |
|  4 | 玩具   |          55.00 |  45.00 ||  5 | 钱包   |         285.00 | 195.00 |
+----+--------+----------------+--------+5 rows in set (0.00 sec)
mysql> update product set original_price=price,price=original_price;
Query OK, 5 rows affected (0.00 sec)
Rows matched: 5  Changed: 5  Warnings: 0mysql> select * from product;
+----+--------+----------------+--------+| id | name   | original_price | price  |
+----+--------+----------------+--------+|  1 | 雪糕   |           3.50 |   3.50 |
|  2 | 鲜花   |          15.00 |  15.00 |
|  3 | 甜点   |          12.50 |  12.50 |
|  4 | 玩具   |          45.00 |  45.00 ||  5 | 钱包   |         195.00 | 195.00 |
+----+--------+----------------+--------+5 rows in set (0.00 sec)
Nach dem Login kopieren

Ausführungsergebnisse:

update product as a, product as b set a.original_price=b.price, a.price=b.original_price where a.id=b.id;
Nach dem Login kopieren
In diesem Artikel wird die zweispaltige Datenmethode in der MySQL-Austauschtabelle erläutert. Weitere Informationen finden Sie auf der chinesischen Website von PHP.

Verwandte Empfehlungen:

So generieren Sie eine zufällige Dezimalmethode von 0 bis 1 über PHP

Informationen zur Verwendung der MySQL-Zeitstempelformatierungsfunktion from_unixtime Anleitung

Anleitung zur Verwendung der MySQL-Funktionen concat und group_concat

Das obige ist der detaillierte Inhalt vonEine Erklärung der zweispaltigen Datenmethode in der MySQL-Austauschtabelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage