ورود

View Full Version : کسی میدونه این خطا چیه؟



saeidejafari
شنبه 16 آذر 1387, 13:09 عصر
سلام بر همگی،
من یه جدول دارم که حدود 114 تا فیلد داره:گیج: و نوع تقریبا 110 تاش varchar(255) هست حالا می خوام چند تا فیلد دیگه هم اضافه کنم که اونا هم varchar(255) هست ولی این خطا رو میده:
#1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
اگه نوع رو text بذارم مشکلی نداره ولی نمی تونم varchar بذارم!!!

Yousha
دوشنبه 25 آذر 1387, 13:44 عصر
عزیز اولاً همیشه خطا ها رو در تگ CODE قرار بدید تا خوانا تر بشه.
دوماً اینکه هر جدول یه حداکثری برای تعداد Field و حجم Field داره(بر حسب بایت). احتمال داره برای شما به حدش رسیده باشه.
سوم اینکه اگر نمی تونید طول و ایمنی فیلد های VChar رو بدرستی کنترل کنید از همون Text استفاده کنید. اینجوری هم در نرم افزار فقط طولشو چک می کنید.
...
اگر مشکلتون حل نشد یه سری به http://bugs.mysql.com برنید.
موفق باشید.

zoghal
سه شنبه 26 آذر 1387, 00:27 صبح
114 تا فیلد؟ چه خبره؟
1- چرا نرمال سازی نمیکنی؟
2- می دونید وقتی رکورد ها بالا زیاد بشه چقدر به سرور فشار میاد
3- اگر یکسرسی فیلد ها به صورت بله خیر یا کلا کلمات کوچک هستند بهتره هس که یم فیلد مرتبط ایجاد کنید و مقدایر رو به این صورت "بله:مرد:زن:خیر:ندارد:مجرد" قرار بدید، خیلی راحت هم میشه اونها رو تجزیه کرد