изменить тип поля в MYSQL

(Ответов: 9, Просмотров: 2709)
  1. Дипломник
    • Регистрация: 26.09.2011
    • Сообщений: 131
    • Репутация: 2
    Добрый вечер.
    Проблема заключается в следующем - есть Joomla2.5.8 + Virtuemat 2.0.
    В новой Joomla модуль SEF ссылок работает более менее адекватно, поэтому использую его. Возникла проблема в следующем - при создании двух одинаковых товаров алиасы, которые являются ссылками на сайте не могут создаваться одинаковыми. Роутер который делает ссылки автоматически к названию каждого товара и каждой категории добавляет ID товара (категории). Но сам алиас остается без изменения. Т.е если два товара называется - Ложка, то и должно по идее сформироваться два одинаковых алиаса - Logka. Но как я выяснил в настройках поля базы данных стоит какое то условие, что алиас не может повторятся и автоматически добавляется дата и время создания алиаса. Это оч ужасно выглядит.
    Выяснил что сам алиаc у товаров хранится в базе MYSQL в таблице `ui8fl_virtuemart_products_ru_ru` в поле Slug.
    Вопрос следующий - что нужно сделать чтобы поле Slug получило возможность иметь одинаковые значения?
    Соседнее поле customtitle совершенно спокойно может в себе содержать одинаковые значения.
    • 0
  2. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    Цитата Сообщение от mrstorm Посмотреть сообщение
    что нужно сделать чтобы поле Slug получило возможность иметь одинаковые значения?
    убрать у поля Slug признак уникальности, не?
    • 0
  3. Дипломник
    • Регистрация: 26.09.2011
    • Сообщений: 131
    • Репутация: 2
    cOAPerator,да я это понимаю. Только КАК? :) че надо прописать? я нубак в mysql )))
    • 0
  4. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    mrstorm, ALTER TABLE `имя_таблицы` ADD UNIQUE (`имя_ поля`)
    делать sql запрос в php_my_admin
    • 0
  5. Дипломник
    • Регистрация: 26.09.2011
    • Сообщений: 131
    • Репутация: 2
    cOAPerator, сделал, но выдает ошибку:
    Ошибка
    SQL-запрос: Изменить

    UPDATE `daily`.`ui8fl_virtuemart_products_ru_ru` SET `slug` = '1' WHERE `ui8fl_virtuemart_products_ru_ru`.`slug` = '3'

    Ответ MySQL:

    #1062 - Duplicate entry '1' for key 'PRIMARY'

    ---------- Сообщение добавлено 20:25 ---------- Предыдущее 20:22 ----------

    cOAPerator,а точно это запрос на удаление уникальности поля? по запросу видно что мы добавляем - ADD UNIQUE ???
    • 0
  6. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    mrstorm, опс, сори, вопрос проворонил, запарился немного:), вот так:
    ALTER TABLE `имя_таблицы` DROP INDEX `имя_ поля`

    а вообще внизу страницы в php_my_admin есть такая штука - индексы, там можно удалять тоже..
    Последний раз редактировалось cOAPerator; 13.01.2013 в 22:52.
    • 1

    Спасибо сказали:

    mrstorm(13.01.2013),
  7. Дипломник
    • Регистрация: 26.09.2011
    • Сообщений: 131
    • Репутация: 2
    cOAPerator, Все сделал но все равно выдается ошибка когда хочу поставить одинаковое значение:
    Ошибка
    SQL-запрос: Изменить

    UPDATE `daily`.`ui8fl_virtuemart_products_ru_ru` SET `slug` = '0' WHERE `ui8fl_virtuemart_products_ru_ru`.`slug` = ''

    Ответ MySQL:

    #1062 - Duplicate entry '0' for key 'PRIMARY'
    • 0
  8. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    mrstorm, напишите какой точно запрос делаете..
    • 0
  9. Дипломник
    • Регистрация: 26.09.2011
    • Сообщений: 131
    • Репутация: 2
    Вообщем - почему то на локальном сервере выдавало все равно ошибку, а на хостинге - все ок! Так что СПС!
    Почему только на денвере так не получилось - хз
    • 0
  10. [web-developer] Аватар для cOAPerator
    • Регистрация: 22.02.2011
    • Сообщений: 615
    • Репутация: 111
    • Webmoney BL: ?
    mrstorm, не за что.

    может ошиблись в запросах, может разные версии mySql, может еще что-то.

    попробуйте на локалке внизу страницы в php_my_admin есть такая штука - индексы, там можно удалять вручную для каждого поля, для которого они заданы.

    ПС: для спасибо есть кнопочка в каждом посте.
    • 1

    Спасибо сказали:

    mrstorm(13.01.2013),

Похожие темы

Темы Раздел Ответов Последний пост
Скрипт комментариев CommentIt Ajax (Mysql + Без mysql)
Софт, скрипты, лицензии 0 01.07.2012 00:59
Дополнительные поля в профиле на DLE 9.5
DLE 2 03.04.2012 14:19
Дополнительные поля в профиле на DLE 9.5
Web программирование 2 03.04.2012 14:19
Дополнительные поля новости dle.
DLE 2 22.03.2012 22:39
Дополнительные поля новости dle.
Web программирование 2 22.03.2012 22:39

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры