2011-12-05 14 views
10

मुझे हमारी साइट से गणना की गणना के लिए एक खराब कोड को बेहतर समाधान में परिवर्तित करना होगा। मैं एक मेज है कि बारडालने पर अवैध mysql क्वेरी

की संख्या की गणना है

वर्तमान तालिका:

CREATE TABLE `hits_2011_12_5` (
    `count` int(11) DEFAULT NULL 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 

अब मैं धीरे-धीरे पुराने एक के लिए नए कोड स्थानांतरित करना चाहते हैं, लेकिन मैं नए कोड के साथ इस त्रुटि है:

[email protected]:test> insert into hits_2011_12_5 values (1,2,3,4,5); 
ERROR 1136 (21S01): Column count doesn't match value count at row 1 

समस्या क्या हो सकती है?

+1

ऐसी तालिका तालिका का अर्थ है "बेहतर समाधान"? –

+0

पुरानी संरचना है, पुराने "विशेषज्ञ" ने अनुरोधों की गिनती करने के लिए केवल एक कॉलम के साथ 1000 से अधिक टेबल बनाए हैं ... इसलिए मैं इसे बदलना चाहता हूं और तारीख के लिए जहां खंड के साथ गिनती (*) का उपयोग करना चाहता हूं लेकिन अब मैं इस तालिका में सभी डेटा माइग्रेट करने की आवश्यकता है जो दर्द है इसलिए मैंने मैन्युअल रूप से ऐसा करने के बजाय एक PHP स्क्रिप्ट बनाई लेकिन मुझे यह त्रुटि मिली – ana

+0

आपका प्रश्न कोई समझ नहीं आता है। वर्तमान तालिका को "hits_2011_12_5" कहा जाता है लेकिन आपकी सम्मिलित क्वेरी "लॉग" नामक तालिका का उपयोग करती है। आप हमें "लॉग" टेबल के लिए स्कीमा नहीं देते हैं, इसलिए हम केवल अनुमान लगा सकते हैं कि समस्या क्या है। – liquorvicar

उत्तर

11

उपयोग करें:

[email protected]:test> insert into hits_2011_12_5 values (1),(2),(3),(4),(5); 
Query OK, 5 rows affected (0.00 sec) 
Records: 5 Duplicates: 0 Warnings: 0 

क्वेरी आप की कोशिश की 5 स्तंभों की ज़रूरत, 5 लाइनों डालने नहीं।

संबंधित मुद्दे