हम INNER JOIN की मदद से दूसरी टेबल को अपडेट कर सकते हैं। आइए दो टेबल बनाकर समझते हैं।
पहली टेबल बनाना (tblFirst)
mysql> CREATE TABLE tblFirst (
-> id INT,
-> name VARCHAR(100)
-> );
Query OK, 0 rows affected (0.48 sec)
रिकॉर्ड डालना
mysql> INSERT INTO tblFirst VALUES (1, 'John');
mysql> INSERT INTO tblFirst VALUES (2, 'Bob');
mysql> INSERT INTO tblFirst VALUES (3, 'David');
सभी रिकॉर्ड देखना
mysql> SELECT * FROM tblFirst;
आउटपुट:
+------+-------+
| id | name |
+------+-------+
| 1 | John |
| 2 | Bob |
| 3 | David |
+------+-------+
दूसरी टेबल बनाना (UpdTable)
mysql> CREATE TABLE UpdTable (
-> IncId INT AUTO_INCREMENT,
-> PRIMARY KEY (IncId),
-> id INT,
-> name VARCHAR(100)
-> );
Query OK, 0 rows affected (0.57 sec)
रिकॉर्ड डालना
mysql> INSERT INTO UpdTable (id, name) VALUES (1, 'Taylor');
mysql> INSERT INTO UpdTable (id, name) VALUES (2, 'Jason');
mysql> INSERT INTO UpdTable (id, name) VALUES (3, 'Carol');
mysql> INSERT INTO UpdTable (id, name) VALUES (4, 'John');
अपडेट क्वेरी (INNER JOIN के साथ)
mysql> UPDATE UpdTable
-> INNER JOIN tblFirst ON (UpdTable.name = tblFirst.name)
-> SET UpdTable.id = tblFirst.id;
Query OK, 1 row affected (0.19 sec)
अपडेट के बाद परिणाम
mysql> SELECT * FROM UpdTable;
आउटपुट:
+-------+------+--------+
| IncId | id | name |
+-------+------+--------+
| 1 | 1 | Taylor |
| 2 | 2 | Jason |
| 3 | 3 | Carol |
| 4 | 1 | John | <-- id 4 से 1 हो गया
+-------+------+--------+
नोट: केवल 'John' नाम मिला, इसलिए केवल वही रिकॉर्ड अपडेट हुआ।