MySQL INSERT INTO SELECT: शर्त के साथ एक टेबल से दूसरी में डेटा कॉपी करना
INSERT INTO ... SELECT सिंटैक्स का उपयोग करके आप एक क्वेरी में एक टेबल से डेटा चुनकर (शर्त के साथ) दूसरी टेबल में डाल सकते हैं।
उदाहरण: DemoTable1 से Id ≠ 2 वाले रिकॉर्ड DemoTable2 में डालें
पहली टेबल:
CREATE TABLE DemoTable1 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(40)
);
INSERT INTO DemoTable1 (Name) VALUES ('Chris'), ('David'), ('Bob');
दूसरी टेबल:
CREATE TABLE DemoTable2 (
ClientId INT,
ClientFirstName VARCHAR(20)
);
शर्त के साथ INSERT INTO SELECT
INSERT INTO DemoTable2 (ClientId, ClientFirstName) SELECT Id, Name FROM DemoTable1 WHERE Id != 2;
परिणाम — DemoTable2:
+----------+-----------------+ | ClientId | ClientFirstName | +----------+-----------------+ | 1 | Chris | | 3 | Bob | +----------+-----------------+
महत्वपूर्ण बिंदु
- कॉलम सूची दोनों तरफ मेल खानी चाहिए:
INSERT INTO t2 (a,b) SELECT x,y FROM t1 WHEREक्लॉजSELECTका हिस्सा हैAUTO_INCREMENTकॉलम को छोड़ सकते हैं (दूसरी टेबल में)- डेटा टाइप संगत होने चाहिए
अधिक जटिल उदाहरण
START TRANSACTION; INSERT INTO DemoTable2 ... SELECT ... WHERE ...; -- सत्यापन क्वेरी COMMIT;