فرهاد
فرهاد
خواندن ۱ دقیقه·۱ سال پیش

استفاده از UUID برای کلید اصلی در پستگرس

گاهی اوقات به دلایل مختلف از UUID به جای کلیدهای اصلی استفاده می شود. در اینجا نحوه استفاده از UUID به جای سریال یا IDENTITY توضیح داده می شود:

CREATE EXTENSION IF NOT EXISTS 'uuid-ossp'; CREATE TABLE items ( id uuid DEFAULT uuid_generate_v4(), name text NOT NULL ); INSERT INTO items (name) VALUES ('one'), ('two'), ('three') RETURNING id, name;

خط اول فعال سازی اکستنشن uuid-ossp برای تولید uuid می باشد که ابتدا بررسی می کند که آیا قبلا فعال شده است یا نه، اگر فعال نبود آن را فعال می کند.

در خط بعدی جدولی با نام items ایجاد می کنیم که یک ستون به نام id و با نوع uuid دارد که مقدار پیش فرض آن با uuid_generate_v4 تولید خواهد شد.

در انتهای دستور insert از returning استفاده شده است به این دلیل که مقادیری که به صورت خودکار با ساختارهای DEFAULT/Serial/IDENTITY تولید می شوند را می توان با دستور INSERT با استفاده از عبارت RETURNING برگرداند. از منظر کد برنامه، مانند یک SELECT اجرا می شود که مجموعه رکورد ایجاد شده را برمی گرداند. یعنی منظورمان این است که بعد از insert کردن مقادیر id و name را که تولید و اضافه شده اند را برگردان.

خروجی:

-- returns: -- id | name -- --------------------------------------+-------------- -- 1cfaae8c-61ff-4e82-a656-99263b7dd0ae | one -- be043a89-a51b-4d8b-8378-699847113d46 | two -- 927d52eb-c175-4a97-a0b2-7b7e81d9bc8e | three
postgresqlپستگرسدیتابیسdatabase
علاقه‌مند به مهندسی نرم افزار، هوش مصنوعی و موسیقی
شاید از این پست‌ها خوشتان بیاید