Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: BIT
 
 автор: drakonchik   (19.04.2008 в 19:30)   письмо автору
 
 

поставила версию MySQL 5.1 и у меня перестало добавляться значения в поле с типом BIT.
Раньше я просто добавляла 0 или 1. А сейчас Mysql выдает ошибку: Data too long...
Подскажите, в чем тут дело?

   
 
 автор: Atheist   (19.04.2008 в 19:55)   письмо автору
 
   для: drakonchik   (19.04.2008 в 19:30)
 

> Раньше я просто добавляла 0 или 1
А сейчас значит пытаешься добавить что-то другое? :))

Хотя лучше использовать TINYINT, если только булевое значение.

   
 
 автор: drakonchik   (19.04.2008 в 20:11)   письмо автору
 
   для: Atheist   (19.04.2008 в 19:55)
 

нет, и сейчас добавляю просто 1, а мне такая ошибка типа: Data too long for column ...
У меня такое подозрение по докуменации mysql 5.1, что они там че-то поменяли для поля типа BIT!

   
 
 автор: Atheist   (19.04.2008 в 20:18)   письмо автору
 
   для: drakonchik   (19.04.2008 в 20:11)
 

Наверное, для поля BIT стоит меньше 8 битов.

Выполни запрос "EXPLAIN `table`;" (вместо table, естественно, имя твоей таблицы). Какой результат?

   
 
 автор: drakonchik   (19.04.2008 в 20:40)   письмо автору
 
   для: Atheist   (19.04.2008 в 20:18)
 

bit(1)

   
 
 автор: drakonchik   (19.04.2008 в 20:40)   письмо автору
 
   для: Atheist   (19.04.2008 в 20:18)
 

type : bit(1)

   
 
 автор: Atheist   (19.04.2008 в 20:56)   письмо автору
 
   для: drakonchik   (19.04.2008 в 20:40)
 

А нужно исправить на BIT(8) хотя бы. Или исправить запрос так: ... = b'1' (т.е. перед '1' поставить b)

Раз уж используется такой тип, то предпочтительней второе...

   
 
 автор: drakonchik   (19.04.2008 в 21:33)   письмо автору
 
   для: Atheist   (19.04.2008 в 20:56)
 

просто когда я эта писала для MySQL4, всё работало и когда я увидела в мануалах такую запись (b'1') очень сильно удивилась.
Мне правда до сих пор странно, что в новой версии это перестало работать!

   
 
 автор: Atheist   (19.04.2008 в 21:34)   письмо автору
 
   для: drakonchik   (19.04.2008 в 21:33)
 

Сбилось значение кол-ва битов у поля BIT в твоей таблице. Неудачно дамп сняли или еще чего.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования