select uuid_generate_v4() as one, uuid_generate_v4() as two;
"एक" UUID और "दो" UUID बराबर कर रहे हैं!PostgreSQL UUID पीढ़ी
CREATE TABLE "TB"
(
"Id" uuid NOT NULL DEFAULT uuid_generate_v4(),
"Title" character varying NOT NULL,
CONSTRAINT "TB_Class_ID" PRIMARY KEY ("Id")
);
PostgreSQL 9.0 pgAdmin 1.12.3
insert into "TB" ("Id", "Title") values (uuid_generate_v4(), '111');
insert into "TB" ("Id", "Title") values (uuid_generate_v4(), '111');
insert into "TB" ("Id", "Title") values (uuid_generate_v4(), '111');
या
insert into "TB" ("Title") values ('111');
insert into "TB" ("Title") values ('111');
insert into "TB" ("Title") values ('111');
परिणाम:
ERROR: duplicate key value violates unique constraint "TB_Class_ID"
DETAIL: Key ("Id")=(12ab6634-995a-4688-9a9a-ee8c3fe24395) already exists.
जबकि
postgreSQL maestro 9.2.0.4
insert into "TB" ("Id", "Title") values (uuid_generate_v4(), '111');
insert into "TB" ("Id", "Title") values (uuid_generate_v4(), '111');
insert into "TB" ("Id", "Title") values (uuid_generate_v4(), '111');
परिणाम: 1 पंक्तियां प्रभावित हुईं;
मैं समझता हूं कि मेस्ट्रो ने एक-एक करके रिकॉर्ड जोड़े हैं, लेकिन क्यों uuid_generate_v4() दो कॉल के बाद समान मान देता है? (पीजीएडमिन मामले में)।
और मैं एक अनुरोध से कई पंक्तियों को कैसे जोड़ सकता हूं?
यह मेरे लिए एक बग जैसा दिखता है। 'यादृच्छिक() को एक के रूप में याद रखें, यादृच्छिक() दो के रूप में;'। मुझे दो अलग-अलग मूल्य मिलते हैं, भले ही मैं लेनदेन में हूं या नहीं। 'uuid_generate_v4' एक 'वोल्टाइल' फ़ंक्शन है, इसलिए मुझे लगता है कि गलती यूयूआईडी-ओएसपीपी मॉड्यूल या अंतर्निहित लाइब्रेरी में है। –
हां "यादृच्छिक() के रूप में याद रखें, यादृच्छिक() एएस दो" अलग-अलग मान प्राप्त करें और मुझे समझ में नहीं आता कि क्यों uuid_generate_v4 बराबर मान प्राप्त करते हैं –