با استفاده از تابع EXPORT_SET در MySQL، برای هر ردیف جدول permissions با ستون bit_mask یک ستون تولید کنید که وضعیت چهار پرچم (read, write, execute, delete) را بهصورت 'enabled' یا 'disabled' و با ویرگول جدا نمایش دهد.
3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:14 0.0
از SELECT همراه با EXPORT_SET استفاده کنید، مثلاً EXPORT_SET(bit_mask, 'enabled', 'disabled', ',', 4) برای ساخت رشتهای شامل وضعیت هر بیت (تعداد بیتها را برابر 4 قرار دهید). در نظر داشته باشید ترتیب بیتها را مطابق نگاشت دلخواه (مثلاً bit0 → read، bit1 → write و ...) تنظیم کنید و در صورت نیاز مقدار ستون را با CAST به unsigned تبدیل کنید تا رفتار بیتها صحیح باشد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
نکته مفید این است که EXPORT_SET با طول 4، وضعیت چهار پرچم را به صورت 'enabled' یا 'disabled' و با جداکننده ',' جمعآوری میکند. برای تضمین صحت نقشه بیتها، بیت0 → read، بیت1 → write، بیت2 → execute، بیت3 → delete را بهطور مشخص رعایت کنید و از CAST(bit_mask AS UNSIGNED) استفاده کنید تا رفتار بیتها درست باشد. خروجی برای هر ردیف مانند enabled,disabled,enabled,disabled به دست میآید. همچنین مطمئن شوید که مقدار bit_mask NULL یا غیرعدد نباشد تا خروجی یکنواختی داشته باشید.
گزارش