mysql में सेलेक्ट करें


86

मैं एक MSSQL उपयोगकर्ता हूँ और अब मैं अपने डेटाबेस को MySQL में परिवर्तित कर रहा हूँ। मैं MySQL में निम्नलिखित प्रश्न लिख रहा हूं:

select * into new_tbl from tbl

और मुझे निम्नलिखित त्रुटि मिलती है

Error : Undeclared variable new_tbl

MySQL में ऐसी क्वेरी को कैसे ठीक से लिखा जाना चाहिए?

जवाबों:


128

क्रिएट टेबल सिलेक्ट सिंटैक्स का उपयोग करें।

http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html

CREATE TABLE new_tbl SELECT * FROM orig_tbl;

SELECT INTO कमांड नई तालिका बनाता है और एक डेटाबेस से दूसरे में डेटा कॉपी किया जा सकता है जैसे
शंकर रेगमी

3
सही सिंटैक्स है: नया TET__BAL का चयन करें जैसा कि ओरिजिनल से है *;
csname1910

बनाएँ ... चयनित कार्य करता है, यह स्वीकृत उत्तर होना चाहिए। "AS" कीवर्ड स्पष्ट रूप से वैकल्पिक है, और SELECT INTO MySQL के साथ काम नहीं करता है।
leo

जोर देकर कहते हैं कि यह इंडेक्स नहीं बनाता है!
इवान इवकोविक

89

MySQL में, यह इस तरह होना चाहिए

INSERT INTO this_table_archive (col1, col2, ..., coln)
SELECT col1, col2, ..., coln
FROM this_table
WHERE entry_date < '2011-01-01 00:00:00';

MySQL प्रलेखन


8
सूक्ष्म अंतर। इस मामले में तालिका का अस्तित्व है। के लिए select into, यह नहीं है। वास्तव में, मुझे लगता है कि यह एक त्रुटि है अगर यह करता है। तो इस समाधान को उन बयानों के साथ पूर्ववर्ती होना चाहिए जो तालिका स्कीमा की नकल करते हैं।
paxdiablo

जैसा कि paxdiablo कहता है, इसके लिए उस तालिका की आवश्यकता होती है जिसे आप पहले से मौजूद हैं। MSSQL सिंटैक्स जो OP आपके लिए तालिका बनाने के लिए उपयोग किया जाता है।
डेव के

7
ओपी के सवाल का जवाब नहीं दिया जा सकता है लेकिन सौभाग्य से यह वही था जो मैं देख रहा था।
गयारह
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.