با استفاده از تابع 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 تبدیل کنید تا رفتار بیت‌ها صحیح باشد.

توسط پژوهشگر در 220 روز قبل ساعت 02:14
دسته بندی ها: MySQL MySQL for beginner
arman در 220 روز قبل ساعت 10:25

نکته مفید این است که 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 یا غیرعدد نباشد تا خروجی یکنواختی داشته باشید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری