Помогите с ошибкой mysql

Тема в разделе "Базы данных", создана пользователем bukа, 1 мар 2009.

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

    bukа Писатель

    Заблокирован
    Регистр.:
    23 окт 2008
    Сообщения:
    446
    Симпатии:
    138
    в общем при заливки базы через mysql возникает ошибка:

    Код:
    Ошибка
    
    SQL-запрос:
    
    CREATE TABLE jos_autobb_extsearch(
    id int( 11 ) NOT NULL AUTO_INCREMENT ,
    results text NOT NULL ,
    searchParam text NOT NULL ,
    expirationDate datetime DEFAULT '0000-00-00 00:00:00' NOT NULL ,
    PRIMARY KEY ( id ) ,
    KEY searchParam( searchParam )
    );
    
    Ответ MySQL: Документация
    #1170 - BLOB/TEXT column 'searchParam' used in key specification without a key length 
    Вот сама база: http://depositfiles.com/files/dgb38slkj
    Как исправить можно?
     
  2. Alexitdv

    Alexitdv

    Регистр.:
    4 янв 2008
    Сообщения:
    161
    Симпатии:
    65
    Забыл удалить из SQL определение ключа в таблице... Поправил...
    1. Ты бы еще на базу поболя поставил бы постов :D
    Теперь по делу.
    Код:
    CREATE TABLE jos_autobb_extsearch(
    id int( 11 ) NOT NULL AUTO_INCREMENT ,
    results text NOT NULL ,
    searchParam text NOT NULL ,
    expirationDate datetime DEFAULT '0000-00-00 00:00:00' NOT NULL ,
    PRIMARY KEY ( id )
    );
    ALTER TABLE `jos_autobb_extsearch` ADD INDEX `KEY` ( `searchParam` ( 10 ) ) 
    
    Теперь на будущее: BLOD и TEXT не могут полностью использоваться в индексе. Индекс может быть длиной до 512 байт. Значит тебе надо указать длину (`searchParam` ( 10 ) )
     
    bukа нравится это.
  3. bukа

    bukа Писатель

    Заблокирован
    Регистр.:
    23 окт 2008
    Сообщения:
    446
    Симпатии:
    138
    не помогло:confused:
    Может поможешь подкоректировать базу?
     
  4. bukа

    bukа Писатель

    Заблокирован
    Регистр.:
    23 окт 2008
    Сообщения:
    446
    Симпатии:
    138
    ----------------------------В исправленном варианте:
    Неправильный запрос.
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ALTER TABLE `jos_autobb_extsearch` ADD INDEX `KEY` ( `searchParam` ( 10 ) )('1',' at line 1 (256)
     
  5. Alexitdv

    Alexitdv

    Регистр.:
    4 янв 2008
    Сообщения:
    161
    Симпатии:
    65
    Код:
    CREATE TABLE jos_autobb_extsearch(
    id int( 11 ) NOT NULL AUTO_INCREMENT ,
    results text NOT NULL ,
    searchParam text NOT NULL ,
    expirationDate datetime DEFAULT '0000-00-00 00:00:00' NOT NULL ,
    PRIMARY KEY ( id )
    );# MySQL вернула пустой результат (т.е. ноль рядов).
    ALTER TABLE `jos_autobb_extsearch` ADD INDEX `KEY` ( `searchParam` ( 10 ) ) ;# MySQL вернула пустой результат (т.е. ноль рядов).
    
    Результат импорта через phpmyadmin в MySQL 5. В том варианте пропустил в конце точку с запятой.

    Вот еще немного другой вариант
    Код:
    CREATE TABLE `jos_autobb_extsearch` (
      `id` int(11) NOT NULL auto_increment,
      `results` text NOT NULL,
      `searchParam` text NOT NULL,
      `expirationDate` datetime NOT NULL default '0000-00-00 00:00:00',
      PRIMARY KEY  (`id`),
      KEY `KEY` (`searchParam`(10))
    )
    
    Если не работает пиши чо за версия MySQL и как выполняешь запросы
     
  6. zloychel2

    zloychel2 Писатель

    Регистр.:
    9 мар 2009
    Сообщения:
    6
    Симпатии:
    1
    могут различаться сами версии mysql
    поюзайте документацию
     
  7. SoaringHawk

    SoaringHawk Постоялец

    Регистр.:
    25 апр 2009
    Сообщения:
    61
    Симпатии:
    2
    Откуда ошибка 1064 в комментарии SQL-запроса?

    Простите я вклинюсь. Название топика идеально подходит, а свой (новый) создать не могу, пока 10 сообщений не будет.:bk:

    Проблема с импортом wiki sql-дампов.
    Откуда-то появилась ошибка 1064 в комментарии SQL-запроса... При чем во всех файлах *.sql.gz. Т.е. те, что в xml формате импортнулись без проблем.

    Вот, что выдает phpmyadmin:
    Ругается на красную строчку.
    Как может быть "error in your SQL syntax" в комментарии? :eek:

    Пробовал и через коммандную (mysql --юзер,песс,вкакуюбазу < полныйпутькдампу) - аналогично, ошибка 1064 в строке комментария...
    Гуглопробег ничего не дал. Да и не ждал другого... В уме не укладывается, ошибка синтаксиса в комментарии. :confused:
    Запущено на локали (xampp 1.7.1).

    Что за мистика такая?
     
  8. jandos1

    jandos1 Писатель

    Регистр.:
    26 мар 2009
    Сообщения:
    6
    Симпатии:
    4
    эту строку удалить пробовал?
    там спец символов никаких невидимых не попалось?
     
  9. Виллен

    Виллен

    Регистр.:
    12 мар 2009
    Сообщения:
    235
    Симпатии:
    60
    Помоему такое бывает когда кодировка соединения не совпадает с кодировкой файла.

    А не проще ли все коменты потереть вообще?
     
  10. SoaringHawk

    SoaringHawk Постоялец

    Регистр.:
    25 апр 2009
    Сообщения:
    61
    Симпатии:
    2
    С кодировкой порядок, везде utf8 (в базе и таблицах сравнение utf8_general_ci).
    Это строчку удалять конечно пробовал. Импортит без проблем.

    Поудалять комменты это конечно вариант, но у вики не один десяток этих дампов и в итоге каждое обновление превращается в убийственную рутину. Например только у ruwikibooks их 16 не считая тех, что в xml формате. Писать софт, который это сделает опять же огород городить. Да и не порядок это. :)

    Приаттачил сам дамп (хотя md5 в любом случае совпадает) и скрин как именно ругается phpmyadmin. Обратите внимание, что в ошибке в той строчке присутствует откуда-то взявшийся пробел перед последними 2-мя "-". В дампе его нет!
     

    Вложения:

Статус темы:
Закрыта.