مناسبت ترین datatype برای ذخیره ip در mysql

علی حسین شهابی

1395/8/7

نظر0

سلام خدمت دوستان عزیزم

امروز می خوام درباره یکی از بهرین روش های برای ذخیره ی آی پی (IP address) در دیتابیس mysql صحبت کنم .

دوستی سوال کرده بود برای ذخیره ی آی پی (IP address) چه datatype ای را پیشنهاد می کنید  ؟

در واقع اولین راهی که به ذهن میرسد این است که یک فیلد به نام ip_address بسازیم و دیتاتایپ اش رو varchar قرار بدیم و  آی پی (IP address) را داخل اش ذخیره نماییم ولی راه دیگه ای که پیشنهاد می شود این است که یک فیلد از نوع int به طول 4 که UNSIGNED باشد را بسازید . با استفاده از تابع INET_ATON که یکی از توابع از پیش ساخته شده MYsql است ( built-in functions ) استفاده نمایید و آی پی ذخیره نمایید.

کار تابع INET_ATON  تبدیل Ip به Integer می باشد .

برای بازیابی آی پی هم می توانید از تابع INET_NTOA استفاده نمایید که وظیفه تبدیل Integer به Ip را دارد.

CREATE TABLE IF NOT EXISTS `ip_addresses` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `ip_address` INT(4) UNSIGNED NOT NULL,
  PRIMARY KEY (`id`)
);

insert کردن دیتا :

بازیابی دیتا :

شما هم اگر از روش دیگری استفاده می کنید حتما در نظرات اعلام کنید .

 

اینستاگرام علی حسین شهابی لینکدین علی حسین شهابی

1 نظر

( 1395/11/30 )امین دشتی

خب چه کاریه هم پردازش بیشتر میشه و هم وقتی بخوای از دیتابیس یه آی پی رو بخونی نمیتونی با کوئری بزنی حتما

ارسال نظر جدید

 
Not signed in

کلیه حقوق مادی و معنوی , متعلق به سایت (Alihossein.ir)می باشد ,انتشار مطالب بدون ذکر منبع از نظر اخلاقی و شرعی صحیح نمی باشد.