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

पोस्टग्रेएसक्यूएल में एंटिटी फ्रेमवर्क (सी #) के साथ सीरियल अनुक्रम को ओवरराइड करें

ऑटोजेनरेटेड मानों का उपयोग करके किसी भी प्रविष्टि से पहले आपको डेटाबेस में अनुक्रम रीसेट करना चाहिए। यह तालिका डीडीएल पर अत्यधिक निर्भर है। सबसे अधिक उपयोग की जाने वाली आईडी के ऑटोजेन के लिए दो उदाहरण हैं:

/*
-- Be careful with these 3 lines if you already have such objects in the your DB 
drop table if exists t1;
drop table if exists t2;
drop sequence if exists seq_t2_id;
*/

-- Using serial type for ID
create table t1 (t1_id serial, t1_name char varying);
insert into t1 (t1_id, t1_name) values (22, 'aaa');
select setval(pg_get_serial_sequence('t1', 't1_id'), (select max(t1_id) from t1)); -- Reset serial value
insert into t1 (t1_name) values ('bbb');
select * from t1;

-- Using sequence to generate IDs
create sequence seq_t2_id;
create table t2(t2_id bigint default nextval('seq_t2_id'), t2_name char varying);
insert into t2(t2_id, t2_name) values (22, 'aaa');
select setval('seq_t2_id', (select max(t2_id) from t2)); -- Update sequence
insert into t2 (t2_name) values ('bbb');
select * from t2;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql में प्रति माह महीने के डेटा की सूची दिन कैसे प्राप्त करें

  2. RODBC का उपयोग करके R को PostgreSQL से कनेक्ट करने का प्रयास करते समय त्रुटि

  3. 'संघ' पर या उसके पास PostgreSQL सिंटैक्स त्रुटि

  4. PL/PGSQL से सत्र चर (\set var='value') का जिक्र करते हुए

  5. क्लाउड एसक्यूएल (पोस्टग्रेज) विदेशी डेटा रैपर कनेक्शन समय प्रतिकृति उदाहरण के लिए समाप्त हो गया