MYSQL Тип int и значение ''

Тема в разделе "Базы данных", создана пользователем yurik010203, 7 дек 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. yurik010203

    yurik010203 Создатель

    Регистр.:
    30 сен 2008
    Сообщения:
    23
    Симпатии:
    0
    Перестал работать
    insert into tabl1 (intfild) values ('')
    ругается 1264 - Out of range value adjusted for column .....
    где intfild int(2) default NULL

    как заставить продолжать '' понимать как "0"
    Не могу понять что зацепил, вчера работало - сегодня нет.
     
  2. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    Код таблицы в студию.
     
  3. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    int - числовой тип, а не символьный.
    Используй вместо '' 0 или null.
     
  4. yurik010203

    yurik010203 Создатель

    Регистр.:
    30 сен 2008
    Сообщения:
    23
    Симпатии:
    0
    Это я понимаю, но запросы выполняются из скрипта, не мной писанного. Это нужно разобраться и перелопатить весь код :( и потом шерстить еще прийдется.

    Хотелось вернуть вчерашнее состояние, когда все работало. Интересно знать в каком направлении копать.
    Все это хозяйство стоит на тестовой локальной машинке в конфгурации Apache/2.2.6,PHP/5.2.4,MySQL/5.0.27 после экспериментов с PHP ап до PHP/5.2.7 перестало работать :nezn: откат не помогает. В php.ini добавил только отладчик для PhpEd. Я вычитал что повысили контроль за типами в MySQL 5.х как это обойти ??????

    Добавлено через 11 минут
    CREATE TABLE `products` (
    `products_id` int(11) NOT NULL auto_increment,
    . . . . . .
    `manufacturers_id` int(11) default NULL,
    . . . . . .
    `products_page_url` varchar(255) default NULL,
    PRIMARY KEY (`products_id`),
    KEY `idx_products_date_added` (`products_date_added`)
    ) ENGINE=MyISAM AUTO_INCREMENT=104 DEFAULT CHARSET=utf8;

    кусочек с проблемным manufacturers_id, таблицы я не менял, проблема не здесь.
     
  5. elcaste

    elcaste

    Регистр.:
    30 ноя 2007
    Сообщения:
    322
    Симпатии:
    175
    Отключи STRICT_TRANS_TABLES и STRICT_ALL_TABLES.

    Если сам то в my.cnf строку:

    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    замени на:

    sql-mode=""

    или попроси саппорт.
     
    yurik010203 нравится это.
  6. yurik010203

    yurik010203 Создатель

    Регистр.:
    30 сен 2008
    Сообщения:
    23
    Симпатии:
    0
    Спасибо, помогло отключение STRICT_TRANS_TABLES
     
Статус темы:
Закрыта.