ФорумРазработкаБазы данных → Mysql, комбинированный UNIQUE индекс и INSERT .. ON DUPLICATE KEY UPDATE

Mysql, комбинированный UNIQUE индекс и INSERT .. ON DUPLICATE KEY UPDATE

  • Strate

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz Окт. 11, 2011, 2:09 п.п.

    Привет всем!

    Есть таблица, которая содержит в себе:

    id: BIGINT, auto_increment, PRIMARY KEY;
    col1: VARCHAR(50) utf8_unicode_ci;
    col2: DATETIME
    .. другие колонки

    и индекс UNIQUE на колонках col1 и col2.

    Делаю запрос:

    INSERT INTO table SET col1='123', col2='2011-01-01 00:00:00' ON DULPLICATE KEY UPDATE `другая_колонка`='значение_другой_колонки';

    И всё бы хорошо, ON DUPLICATE KEY отрабатывает, НО! Иногда вылезают в базе дубликаты. То есть смотришь phpMyAdmin-ом на col1 и col2 - значения идентичные абсолютно, но каким то образом mysql считает что они всё таки разные. В чём подводный камень?

    p.s.: col1 имеет такой формат: две русские буквы + цифры. Может проблема в кодировке? Тогда почему не всегда проявляется?
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz Окт. 11, 2011, 5:44 п.п., спустя 3 часа 35 минут 7 секунд

    а utf8_unicode_ci сменить на utf8_general_ci
  • Strate

    Сообщения: 12 Репутация: N Группа: Кто попало

    Spritz Окт. 11, 2011, 7:01 п.п., спустя 1 час 17 минут 19 секунд

    Кароче ребят, сам ступил. В запрос иногда влезал символ "\r". Есессно phpMyAdmin его никак не отображал.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!