Forum Webscript.Ru

Общие => Базы данных => Тема начата: Fluke от 30 Сентября 2001, 12:43:55

Название: Проблема с Unique key. Никак не могу решить. Уже озверел. Приглашаю желающих озвереть
Отправлено: Fluke от 30 Сентября 2001, 12:43:55
Имеется скрипт следующего содержания:

#!/usr/bin/perl -w

use DBI;



$dbh = DBI->connect("DBI:mysql:база", \'пользователь\', \'пароль\') or die $DBI::errstr;


$dbh->do("DROP TABLE IF EXISTS dictionary");
$dbh->do(qq|
       CREATE TABLE IF NOT EXISTS dictionary
      (definition   VARCHAR(80),
       description   TEXT,
       UNIQUE(definition))
      |);


$sth = $dbh->prepare("INSERT INTO dictionary VALUES(?,?)") or die "$dbh->errstr()\\n";


         $sth->execute(\'КОДЕКС\',\'FIRST\');
         $sth->execute(\'ИНДЕКС\',\'SECOND\');

$dbh->disconnect();

exit(0);

Вставка первого значения происходить нормально, а для второго выдает ошибку, а именно Duplicate value on key 1, т.е. выходит, что с точки зрения MySQL значения КОДЕКС и ИНДЕКС одинаковые? Проверял и в Виндах и в Юниксе - везде этот скрипт не работает. Если кто желает проверьте. И если кто может - объясните в чем проблема.

С уважением.:confused:
Название: Проблема с Unique key. Никак не могу решить. Уже озверел. Приглашаю желающих озвереть
Отправлено: AliMamed от 30 Сентября 2001, 15:26:39
у меня все работает. правда кодировка у меня стоит вин1251, а не латин1. может в кодировке грабли?
Название: Проблема с Unique key. Никак не могу решить. Уже озверел. Приглашаю желающих озвереть
Отправлено: Fluke от 30 Сентября 2001, 18:23:36
А что предлагаешь сделать?
Прописать файл my.cnf?
Название: Проблема с Unique key. Никак не могу решить. Уже озверел. Приглашаю желающих озвереть
Отправлено: AliMamed от 30 Сентября 2001, 18:30:52
для начала надо выяснить действительно ли это связано с кодировкой - посмотри какая кодировка выставлена там где не работает
Название: Проблема с Unique key. Никак не могу решить. Уже озверел. Приглашаю желающих озвереть
Отправлено: Fluke от 30 Сентября 2001, 19:11:49
Вот что дал show variables по поводу кодировок


| character_set           | latin1                                                                                                                                                                                                  |
| character_sets          | latin1 big5 czech euc_kr gb2312 gbk sjis tis620 ujis dec8 dos german1 hp8 koi8_ru latin2 swe7 usa7 cp1251 danish hebrew win1251 estonia hungarian koi8_ukr win1251ukr greek win1250 croat cp1257 latin5 |