CREATE TABLE batsman
(
InningId int NOT NULL,
PlayerId int NOT NULL,
BatsmanOrder int(2) NOT NULL,
BatScore int NOT NULL default 0,
Balls int NOT NULL default 0,
sixes int NOT NULL default 0,
fours int NOT NULL default 0,
`out` varchar(10) NOT NULL, /*Foreign*/
catcher int, /*Foreign*/
bowler int, /*Foreign*/
Primary Key(InningId, PlayerId),
Foreign Key (PlayerId) references player(Id),
Foreign Key (InningId) references inning(Id),
CHECK (`out` in ("Caught", "Run Out", "Not Out", "Bowled", "lbw"))
) ENGINE=INNODB;
Я использую MySql, и я не могу получить Check
работать, кажется, просто не будет работать я не получаю ошибку или что-нибудь. Это может быть связано с тегами ''
вокруг, так как это ключевое слово!ПРОВЕРКИ MySQL не работает (нет ошибки)
Возможно, ссылка на другую таблицу с первичным ключом varchar, содержащим список допустимых значений. – Martin
Вот почему я избегаю использования MySQL каждый раз, когда могу. Они, как известно, плохо поддерживают стандартный SQL. PostgreSQL намного лучше в этом отношении (http://www.postgresql.org/). – FelixM