নোট করুন যে মাইএসকিউএলের UUID()রিটার্ন CHAR(36), এবং ইউআইডিগুলিকে পাঠ্য হিসাবে সংরক্ষণ করা (অন্য উত্তরগুলিতে দেখানো হয়েছে) স্পষ্টতই অদক্ষ। পরিবর্তে, কলামটি হওয়া উচিত BINARY(16)এবং UUID_TO_BIN()ডেটা সন্নিবেশ করার সময় এবং BIN_TO_UUID()এটি পড়ার সময় আপনি ব্যবহার করতে পারেন ।
CREATE TABLE app_users
(
app_user_id SMALLINT(6) NOT NULL AUTO_INCREMENT PRIMARY KEY,
api_key BINARY(16)
);
CREATE TRIGGER before_insert_app_users
BEFORE INSERT ON app_users
FOR EACH ROW
IF new.api_key IS NULL
THEN
SET new.api_key = UUID_TO_BIN(UUID());
END IF;
নোট করুন যেহেতু মাইএসকিউএল সত্যিই জানেন না এটি একটি ইউইউডি, তাই এটি বাইনারি হিসাবে সঞ্চিত সমস্যাগুলির সমস্যা সমাধানের পক্ষে সমস্যা হতে পারে। এই নিবন্ধটি ব্যাখ্যা করে যে কোনও উত্পন্ন কলাম কীভাবে তৈরি করতে হবে যা কোনও স্থান না নিয়ে বা পৃথক বাইনারি এবং পাঠ্য সংস্করণ সিঙ্কে রাখার বিষয়ে চিন্তা না করে প্রয়োজনীয় হিসাবে পাঠ্যগুলিতে রূপান্তর করবে: https://mysqlserverteam.com/storing-uuid-values-in -মাইএসকিউএল-টেবিল /