مناسبت ترین datatype برای ذخیره ip در mysql
- توسط : علی حسین شهابی
- 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 کردن دیتا :
بازیابی دیتا :
شما هم اگر از روش دیگری استفاده می کنید حتما در نظرات اعلام کنید .