मैं एक SQLite तालिका उत्पन्न (जावा में):SQLite autoincrement - मूल्यों को कैसे सम्मिलित करें?
java.sql.SQLException: table participants has 3 columns but 2 values were supplied
मैं:
insert into participants values ("bla","blub");
मैं त्रुटि मिलती है:
create table participants (ROWID INTEGER PRIMARY KEY AUTOINCREMENT, col1,col2);
बाद में मैं सम्मिलित करें comand का उपयोग कर पंक्तियों को जोड़ने का प्रयास सोचा कि पंक्ति आईडी स्वचालित रूप से जेनरेट की जाएगी, लेकिन ऐसा लगता है कि मुझे कुछ याद आती है।
मैं एक और समाधान की कोशिश की:
PreparedStatement prep = conn.prepareStatement("insert into participants values (?,?,?);");
Integer n = null;
prep.setInt(1,n);
prep.setString(2, "bla");
prep.setString(3, "blub");
prep.addBatch();
prep.executeBatch();
परिणाम के रूप में मैं पर एक नल पॉइंटर एक्सेप्शन प्राप्त "prep.setInt (1, n),"
क्या आपको गलती दिखाई देती है?
मुझे लगता है कि यह काम करेगा, मुझे एक और अच्छा तरीका मिला और सवाल संपादित किया! धन्यवाद ! – Anthea
यह सही तरीका है। यह SQLite के लिए भी विशिष्ट नहीं है। –
यदि आप स्कीमा माइग्रेशन कर रहे हैं और अपने सम्मिलन के लिए एक चुनिंदा कथन का उपयोग कर रहे हैं तो आप प्रतिभागियों में शामिल हो सकते हैं (col1, col2) col1 का चयन करें, col1 t1_backup से col2; ' – mlissner