PDA

View Full Version : مشکل در ثبت داده از نوع Int در mysql



<?php?>
پنج شنبه 12 فروردین 1395, 14:24 عصر
یک فیلد تو جدول ایجاد کردم و اسمشو adminnumber گذاشتم . نوع اونو Int تعیین کردم و طولشو 11 درج کردم . هدفم اینه که تو این فیلد شماره تلفن مدیر قرار داده بشه . ( شماره تلفن 11 رقمیه )

وقتی از قسمت insert مقادیر رو میدم و save رو میزنم . این اررو رو میده :
Inserted row id: 1
Warning: #1264 Out of range value for column 'adminnumber' at row 1

جالب تر از همه اینه که وقتی میرم تو قسمت brows - همه چیز درست پر شده الا شماره تلفن مدیریت که - من برای مثال این شماره رو میدم :09126523232 اون این عدد رو درج میکنه : 2147483647


داده من از نوع عددی هست - آیا باید کارکترش کنم ؟ میخوام علت این کار Mysql رو بدونم ؟ همه چیز که درسته پس چرا ورودی منو تغییر میده>؟

us1234
پنج شنبه 12 فروردین 1395, 16:04 عصر
کاش به جای اینهمه تایپ این 3 کلمه را داخل گوگل سرچ میکردید :

mysql int range

توضیح هم بخواهم بدم تکرار مکررات میشه ...

mamad_za
پنج شنبه 12 فروردین 1395, 16:05 عصر
رنج int کمتر از اون مقدار که شما بخوای شماره تلفن واردش کنی ، یا باید از bigint استفاده کنی یا varchar که varchar بهتره من هم همین مشکل رو داشتم

Farshid007
شنبه 14 فروردین 1395, 11:50 صبح
ی خورده بیشتر به شماره تلفونو کد پستیو اینجور چیزا دقت کنید خودتون متجوه می شید که توی مثلا شماره تلفن اون مقدار عددی برای ما مهم نیست
و خنده داره که اینکه بیاییم در مورد مقدار عددیه یک شماره تلفن و یا کد پستی و یا اینجوری چیزا حرف بزنیم و عقلانی نیست
INT,FLOAT,DOUBLE اینجور چیز ها برای فیلد های استفاده میشن که با مقدار عددیشون سروکار داریم
مثل جمع زدن ، پیدا کردن میانگین ، پیدا کردن بیشترین یا کمترین یک مقدار عددی که معمولا برای فیلد های id ، قیمت و ... اینجور چیزها استفاده میشن و هر کدوم رنج خاصی دارند (رنجشون رو تو خود phpmyAdmin نوشته ) و اینکه INT فقط یک عدد صحیح میتواند بپذیرد
اما برای اسمو شماره تلفونو کد پستیو متنهای بسیار طولانیو و .... که اصن با مقدار توش کاری نداریم از VARCHAR استفاده میشه طولش هم برحسب نیاز هر چقدر که میخواهید بدید