در جدول users یک ستون id از نوع CHAR(36) اضافه کنید و سپس برای هر رکورد موجود یک مقدار یکتای UUID با استفاده از تابع سیستم UUID() قرار دهید و ستون id را بهعنوان کلید اصلی تنظیم کنید.
5.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:20 0.0
ابتدا با ALTER TABLE یک ستون جدید CHAR(36) برای id اضافه کنید، سپس با یک دستور UPDATE مقدار هر سطر را با تابع UUID() پر کنید (مثال: UPDATE users SET id = UUID(); تابع UUID() برای هر سطر یک شناسه یکتا تولید میکند). در پایان ستون را NOT NULL کرده و با ALTER TABLE آن را بهعنوان PRIMARY KEY تعریف کنید؛ پیش از تغییرات از جدول بکاپ بگیرید و در صورت نیاز میتوانید برای ذخیره جمعوجورتر از نوع BINARY(16) بهصورت UNHEX(REPLACE(UUID(),'-','')) استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
قبل از اعمال تغییرات از جدول پشتیبان تهیه کنید و اگر جدول بزرگ است، تغییرات را در دستههای کوچک انجام دهید تا قفل طولانی ایجاد نشود. ابتدا ستون id را به صورت nullable اضافه کنید، سپس UPDATE users SET id = UUID(); هر سطر مقدار یکتا دریافت میکند. سپس ستون را NOT NULL کرده و آن را به عنوان PRIMARY KEY تعریف کنید. اگر فضای ذخیرهسازی محدود است، میتوانید از BINARY(16) به جای CHAR(36) استفاده کنید و با UNHEX(REPLACE(UUID(),'-','')) شناسههای 16 بایتی بسازید.
گزارش