2013-09-30 10 views
8

के लिए पूर्वनिर्धारित अनुक्रम का उपयोग करके h2 डेटाबेस में एक तालिका बनाना I H2 डेटाबेस में एक तालिका बनाने का प्रयास कर रहा हूं। मैं कैसे निर्दिष्ट करूं कि प्राथमिक कुंजी को अनुक्रम से उत्पन्न किया जाना चाहिए जो बनाया गया है?प्राथमिक कुंजी

अनुक्रम group_seq कहा जाता है, और मैं इस कथन का उपयोग यह बनाया: तो जब मैं तालिका बनाने, मैं कैसे निर्दिष्ट करूँ कि मैं अपने प्राथमिक कुंजी स्तंभ (ID) चाहते

CREATE SEQUENCE GROUP_SEQ; 

कि अनुक्रम का उपयोग करने के ?

उत्तर

15

आप अपने खुद के अनुक्रम का उपयोग करना चाहते हैं:

create sequence group_seq; 
create table test3(id bigint default group_seq.nextval primary key); 

और अगर नहीं:

create table test1(id identity); 

या

create table test2(id bigint auto_increment primary key); 
यह सब

H2 SQL grammar railroad diagrams में प्रलेखित है।

+0

मैं कैसे निर्दिष्ट करूं कि आईडी प्राथमिक कुंजी है? – user1154644

+0

मैंने अपना जवाब अपडेट किया। –

+0

@ थॉमसमुएलर जब मैं अपने कस्टम अनुक्रम का उपयोग करता हूं तो इसे हाइबरनेट द्वारा auto_generated नहीं मिलता है। जब मैं auto_increment ध्वज का उपयोग करता हूं, तो यह ठीक काम करता है। मैं सूचना_Schema.Sequences में जांच करता हूं और पाया कि कॉलम IS_GENERATED सिस्टम जेनरेट किए गए अनुक्रमों के लिए सत्य पर सेट है लेकिन कस्टम अनुक्रमों के लिए झूठा है। क्या कस्टम तरीका के लिए मैं इसे सही तरीके से सेट कर सकता हूं? – Arham

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