با استفاده از دستور INSERT و توابع سیستمی NOW() و USER() و VERSION() یک ردیف جدید در جدول audit_logs ایجاد کنید که زمان رخداد، نام کاربر و نسخه سرور را ذخیره کند.

13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 00:22

0.0

یک راه ساده استفاده از INSERT INTO audit_logs (event_time, username, server_version, message) VALUES (NOW(), USER(), VERSION(), 'توضیح رخداد') است؛ ستون‌ها باید مناسب نوع‌شان (مثلاً DATETIME برای زمان و VARCHAR/TEXT برای متن) تعریف شده باشند. اگر نیاز به ثبت خودکار زمان دارید از CURRENT_TIMESTAMP یا مقدار پیش‌فرض ستون استفاده کنید و قبل از اجرا مطمئن شوید کاربری که اتصال دارد مجوز INSERT روی آن جدول را دارد.

توسط پژوهشگر در 198 روز قبل ساعت 00:22
دسته بندی ها: MySQL MySQL for beginner
reyhaneh در 198 روز قبل ساعت 00:22

برای ثبت رویداد با INSERT و توابع NOW(), USER(), VERSION() مطمئن شوید ستون event_time از نوع DATETIME/TIMESTAMP و username و server_version از نوع VARCHAR با طول مناسب تعریف شده‌اند. اگر می‌خواهید زمان به‌صورت خودکار ثبت شود می‌توانید از DEFAULT CURRENT_TIMESTAMP یا استفاده از NOW() در کوئری بهره ببرید و در تراکنش‌های حساس از COMMIT/ROLLBACK استفاده کنید. همچنین قبل از اجرا بررسی کنید کاربر اتصال دارای مجوز INSERT روی audit_logs است و ورودی‌ها را برای جلوگیری از مقادیر نامعتبر یا حملات تزریق اعتبارسنجی کنید.

گزارش

1 پاسخ

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

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