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

jOOQ जेनरेट की गई कुंजियों को वापस करने के साथ क्वेरी डालें

आप जिस सिंटैक्स का उपयोग कर रहे हैं वह एकाधिक रिकॉर्ड डालने के लिए है। यह 4 रिकॉर्ड डालने जा रहा है, प्रत्येक एक फ़ील्ड के साथ।

.values(node.getParentid())
.values(node.getName())
.values(node.getRem())
.values(node.getUipos())

लेकिन आपने 4 फ़ील्ड घोषित किए हैं, इसलिए यह काम नहीं करेगा:

create.insertInto(Tblcategory.TBLCATEGORY, 
  Tblcategory.PARENT_ID, Tblcategory.NAME, Tblcategory.REM, Tblcategory.UIPOS)

आप शायद यह करना चाहते हैं:

Result<TblcategoryRecord> result = create
  .insertInto(Tblcategory.TBLCATEGORY, 
    Tblcategory.PARENT_ID, Tblcategory.NAME, Tblcategory.REM, Tblcategory.UIPOS)
  .values(node.getParentid(), node.getName(), node.getRem(), node.getUipos())
  .returning(Tblcategory.CATEGORY_ID)
  .fetch();

या वैकल्पिक रूप से:

Result<TblcategoryRecord> result = create
  .insertInto(Tblcategory.TBLCATEGORY) 
  .set(Tblcategory.PARENT_ID, node.getParentid())
  .set(Tblcategory.NAME, node.getName())
  .set(Tblcategory.REM, node.getRem())
  .set(Tblcategory.UIPOS, node.getUipos())
  .returning(Tblcategory.CATEGORY_ID)
  .fetch();

शायद, आप का उपयोग करके बेहतर स्थिति में हैं

TblcategoryRecord result =
  // [...]
  .fetchOne();

अधिक विवरण के लिए, मैनुअल पर विचार करें:

http://www.jooq. org/doc/2.6/मैनुअल/एसक्यूएल-बिल्डिंग/एसक्यूएल-स्टेटमेंट्स/इन्सर्ट-स्टेटमेंट/

या Javadoc INSERT . बनाने के लिए बयान जो मान लौटाते हैं:

http://www.jooq.org/javadoc/latest/org /jooq/InsertReturningStep.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और MySQL:गतिशील वर्ष के साथ महीने और दिन की तुलना करना

  2. मूल्य कॉलम के लिए कौन सा MySQL प्रकार सबसे उपयुक्त है?

  3. MySQL केस कैसे काम करता है?

  4. MySQL पूर्ण-पाठ खोज समाधान innoDB तालिकाओं के लिए

  5. UNIX_TIMESTAMP () उदाहरण – MySQL