ошибка
SQL-запрос:
CREATE TABLE `ut_category` ( `CategoryID` INT( 11 ) NOT NULL AUTO_INCREMENT , `Name` VARCHAR( 250 ) NOT NULL , `ItemName` VARCHAR( 250 ) NOT NULL , `OrderIndex` INT( 11 ) DEFAULT '0' NOT NULL , UNIQUE ( `CategoryID` , `Name` , `ItemName` , `OrderIndex` ), FULLTEXT ( `Name` , `ItemName` ) ) TYPE = MYISAM Ответ MySQL: #1071 - Specified key was too long. Max key length is 500 |
Вы указали в качестве UNIQUE все четыре атрибута и если подсчитать сумму их длин, то получается 522
Уникальность (UNIQUE) обозначает, что в никаких двух строках значение одного атрибута не может быть равно, то есть если пояснить на вашей схеме, CategoryID, Name, ItemName и OrderIndex должны содержать только разные значения, что я думаю не соответствует действительности, например наверняка можно продать один вид товара дважды => значения не уникальны В строке ошибки говориться Specified key, а он состоит как раз из уникальных атрибутов (вообще это не обязательно, но если человек указывает атрибут как уникальное, то он видимо автоматически идёт в состав ключа) Для правильности таблицы укажите лучше одно поле уникальным и соответственно ключом всей таблицы, например номер заказа всё время может быть уникальным (каждый раз новое число), при этом мы можем продавать одинаковые товары, но под разными номерами заказов Если хотите могу помочь организовать все таблицы и связи между ними на теоритическом уровне (я просто последний семестр только этим и занимался в своём уни :) ) |
Вложений: 1
vadimiron
дело в том что я просто хотел скопировать базу:) она уже есть и работает, но я хотел скопировать ее вточности себе на комп. |
Время: 03:25. |
Время: 03:25.
© OSzone.net 2001-