यदि मैं एक साथ कई पंक्तियाँ सम्मिलित करता हूं तो डेटाबेस क्वेरी तेजी से होती है:
पसंद
INSERT....
UNION
INSERT....
UNION
(मुझे 2-3000 पंक्तियों की तरह सम्मिलित करना होगा)
यदि मैं एक साथ कई पंक्तियाँ सम्मिलित करता हूं तो डेटाबेस क्वेरी तेजी से होती है:
पसंद
INSERT....
UNION
INSERT....
UNION
(मुझे 2-3000 पंक्तियों की तरह सम्मिलित करना होगा)
जवाबों:
INSERT
VALUES
वाक्यविन्यास का उपयोग करने वाले कथन कई पंक्तियों को सम्मिलित कर सकते हैं। ऐसा करने के लिए, कॉलम मानों की कई सूचियों को शामिल करें, प्रत्येक कोष्ठक के भीतर संलग्न और अल्पविराम द्वारा अलग किया गया।
उदाहरण:
INSERT INTO tbl_name
(a,b,c)
VALUES
(1,2,3),
(4,5,6),
(7,8,9);
INSERT INTO Table SELECT 1, '14/05/2012', 3 UNION SELECT 2, '05/14/2012', 3
। बेशक, यह केवल सम्मिलित किए गए मूल्यों से बेहतर होगा जो विभिन्न तालिकाओं से आ रहे हैं।
यदि आपके पास टेक्स्ट-फाइल में आपका डेटा है, तो आप LOAD DATA INFILE का उपयोग कर सकते हैं ।
पाठ फ़ाइल से तालिका लोड करते समय, LOAD DATA INFILE का उपयोग करें। यह आमतौर पर INSERT बयानों का उपयोग करने से 20 गुना तेज है।
आप ऊपर दिए गए लिंक पर अपने इंसर्ट स्टेटमेंट को कैसे तेज करें, इस बारे में अधिक टिप्स पा सकते हैं।
BEGIN;
INSERT INTO test_b (price_sum)
SELECT price
FROM test_a;
INSERT INTO test_c (price_summ)
SELECT price
FROM test_a;
COMMIT;
यहाँ एक PHP समाधान का उपयोग करने के लिए तैयार है: m (कई-से-कई संबंध) तालिका:
// get data
$table_1 = get_table_1_rows();
$table_2_fk_id = 123;
// prepare first part of the query (before values)
$query = "INSERT INTO `table` (
`table_1_fk_id`,
`table_2_fk_id`,
`insert_date`
) VALUES ";
//loop the table 1 to get all foreign keys and put it in array
foreach($table_1 as $row) {
$query_values[] = "(".$row["table_1_pk_id"].", $table_2_fk_id, NOW())";
}
// Implode the query values array with a coma and execute the query.
$db->query($query . implode(',',$query_values));
// db table name / blog_post / menu / site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO product_cate (site_title, sub_title)
VALUES ('$site_title', '$sub_title')";
// db table name / blog_post / menu / site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO menu (menu_title, sub_menu)
VALUES ('$menu_title', '$sub_menu', )";
// db table name / blog_post / menu / site_title
// Insert into Table (column names separated with comma)
$sql = "INSERT INTO blog_post (post_title, post_des, post_img)
VALUES ('$post_title ', '$post_des', '$post_img')";