Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

org.h2.jdbc.JdbcSQLException:कॉलम आईडी नहीं मिली

यदि आप कॉलम id . को उद्धृत करते हैं OTHERTABLE . बनाते समय दोहरे उद्धरण चिह्नों का उपयोग करना ("id" ), तो आपको रेफ़रेंशियल अखंडता बाधा बनाते समय, और डेटा की क्वेरी करते समय इसे भी उद्धृत करना होगा। मूल रूप से, आपको इसे हर बार उद्धृत करना होगा। मेरा सुझाव है कि नहीं तालिका बनाते समय इसे उद्धृत करें, क्योंकि इस तरह आपको इसे बाद में उद्धृत करने की आवश्यकता नहीं है। उद्धरण का अर्थ है कि पहचानकर्ता केस संवेदी है। MySQL के लिए, यह काम करता है क्योंकि आंतरिक रूप से MySQL अन्य डेटाबेस के विपरीत, पहचानकर्ताओं को लोअरकेस में परिवर्तित करता है। लेकिन H2 और अन्य डेटाबेस के लिए यह काम नहीं करता।

निम्नलिखित दो कथन MySQL और H2 दोनों के लिए कार्य करते हैं:

CREATE TABLE IF NOT EXISTS OTHERTABLE (
  id BIGINT AUTO_INCREMENT NOT NULL
);
CREATE TABLE IF NOT EXISTS SOMETABLE (
  id BIGINT AUTO_INCREMENT NOT NULL,
  FOREIGN KEY (id) REFERENCES OTHERTABLE(id)
);

इसलिए यदि आपको दूसरे कथन में अपवाद मिला है, तो संभवतः आपने पहली तालिका (OTHERTABLE) बनाने के लिए एक अलग तरीके का उपयोग किया है। ) और यहीं समस्या है।

अगली बार, यदि आप कोई प्रश्न पूछते हैं, तो कृपया create table . भी शामिल करें पहली तालिका का विवरण, और पूर्ण पोस्ट करें त्रुटि संदेश।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mySQL में गतिशील रूप से कॉलम नामों का चयन कैसे करें

  2. Mysql क्वेरी में लॉक टेबल प्राप्त करें

  3. आईफोन पर (एल | एम) एएमपी स्टैक कैसे स्थापित करें?

  4. MySQL - एक अस्थायी तालिका से सम्मिलित करें

  5. गंभीर त्रुटि:कक्षा 'Swift_smtpTransport' में नहीं मिला