INSERT INTO SELECT MySQL क्वेरी का उपयोग करते समय स्टैटिक वैल्यू जोड़ सकते हैं। मान को सीधे SELECT स्टेटमेंट में लिखें या वेरिएबल की मदद से जोड़ें।
केस 1: मान को सीधे INSERT INTO SELECT में रखें
INSERT INTO yourSecondTableName(yourColumnName1, yourColumnName2, ... N) SELECT yourColumnName1, yourColumnName2, ... N, yourStaticValue FROM yourFirstTableName;
केस 2: वेरिएबल का उपयोग करके जोड़ें
SET @yourVariableName = yourStaticValue; INSERT INTO yourSecondTableName(yourColumnName1, yourColumnName2, ... N) SELECT yourColumnName1, yourColumnName2, ... N, @yourVariableName FROM yourFirstTableName;
उदाहरण के साथ समझें
दो टेबल बनाने की आवश्यकता है। पहली टेबल में कुछ रिकॉर्ड होंगे जबकि दूसरी टेबल पहली टेबल के रिकॉर्ड को INSERT INTO SELECT से डालेगी और एक स्टैटिक वैल्यू जोड़ेगी।
पहली टेबल बनाएं
mysql> CREATE TABLE First_table (
-> Id INT NOT NULL AUTO_INCREMENT,
-> FirstValue INT,
-> SecondValue INT,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.56 sec)
रिकॉर्ड डालें
mysql> INSERT INTO First_table(FirstValue, SecondValue) VALUES(10, 14); Query OK, 1 row affected (0.20 sec) mysql> INSERT INTO First_table(FirstValue, SecondValue) VALUES(12, 13); Query OK, 1 row affected (0.52 sec) mysql> INSERT INTO First_table(FirstValue, SecondValue) VALUES(100, 110); Query OK, 1 row affected (0.14 sec) mysql> INSERT INTO First_table(FirstValue, SecondValue) VALUES(45, 55); Query OK, 1 row affected (0.27 sec)
पहली टेबल के रिकॉर्ड देखें
mysql> SELECT * FROM First_table;
आउटपुट
+----+------------+-------------+ | Id | FirstValue | SecondValue | +----+------------+-------------+ | 1 | 10 | 14 | | 2 | 12 | 13 | | 3 | 100 | 110 | | 4 | 45 | 55 | +----+------------+-------------+ 4 rows in set (0.00 sec)
दूसरी टेबल बनाएं
mysql> CREATE TABLE Second_table (
-> Id INT NOT NULL AUTO_INCREMENT,
-> Value1 INT,
-> Value2 INT,
-> Value3 INT,
-> PRIMARY KEY(Id)
-> );
Query OK, 0 rows affected (0.81 sec)
ऊपर की टेबल में तीन कॉलम हैं - दो कॉलम पहली टेबल से मान प्राप्त करेंगे जबकि तीसरा कॉलम सीधे या अप्रत्यक्ष रूप से मान प्राप्त करेगा।
केस 1: तीसरे कॉलम में स्टैटिक वैल्यू जोड़ें
mysql> INSERT INTO Second_table(Value1, Value2, Value3)
-> SELECT FirstValue, SecondValue, 45 FROM First_table;
Query OK, 4 rows affected (0.16 sec)
Records: 4 Duplicates: 0 Warnings: 0
दूसरी टेबल के रिकॉर्ड देखें
mysql> SELECT * FROM Second_table;
आउटपुट
+----+--------+--------+--------+ | Id | Value1 | Value2 | Value3 | +----+--------+--------+--------+ | 1 | 10 | 14 | 45 | | 2 | 12 | 13 | 45 | | 3 | 100 | 110 | 45 | | 4 | 45 | 55 | 45 | +----+--------+--------+--------+ 4 rows in set (0.00 sec)
केस 2: वेरिएबल का उपयोग करें
mysql> SET @staticValue = 20;
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO Second_table(Value1, Value2, Value3)
-> SELECT FirstValue, SecondValue, @staticValue FROM First_table;
Query OK, 4 rows affected (0.19 sec)
Records: 4 Duplicates: 0 Warnings: 0
फिर से रिकॉर्ड देखें
mysql> SELECT * FROM Second_table;
आउटपुट
+----+--------+--------+--------+ | Id | Value1 | Value2 | Value3 | +----+--------+--------+--------+ | 1 | 10 | 14 | 20 | | 2 | 12 | 13 | 20 | | 3 | 100 | 110 | 20 | | 4 | 45 | 55 | 20 | +----+--------+--------+--------+ 4 rows in set (0.00 sec)
दोनों तरीकों से INSERT INTO SELECT के साथ स्टैटिक वैल्यू जोड़ी जा सकती है।