Показать полную графическую версию : ошибка
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
vadimiron
03-03-2005, 02:10
Вы указали в качестве UNIQUE все четыре атрибута и если подсчитать сумму их длин, то получается 522
Уникальность (UNIQUE) обозначает, что в никаких двух строках значение одного атрибута не может быть равно, то есть если пояснить на вашей схеме,
CategoryID, Name, ItemName и OrderIndex должны содержать только разные значения, что я думаю не соответствует действительности, например наверняка можно продать один вид товара дважды => значения не уникальны
В строке ошибки говориться Specified key, а он состоит как раз из уникальных атрибутов (вообще это не обязательно, но если человек указывает атрибут как уникальное, то он видимо автоматически идёт в состав ключа)
Для правильности таблицы укажите лучше одно поле уникальным и соответственно ключом всей таблицы, например номер заказа всё время может быть уникальным (каждый раз новое число), при этом мы можем продавать одинаковые товары, но под разными номерами заказов
Если хотите могу помочь организовать все таблицы и связи между ними на теоритическом уровне (я просто последний семестр только этим и занимался в своём уни :) )
vadimiron
дело в том что я просто хотел скопировать базу:)
она уже есть и работает, но я хотел скопировать ее вточности себе на комп.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.