0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 5
|
|
1 | |
униакльный ключ29.04.2011, 13:34. Показов 1092. Ответов 4
Метки нет (Все метки)
Здравсвуйте, прошу помощи.
CREATE TABLE `car_mod` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `id_model` int(11) DEFAULT NULL, `kuzov` varchar(10) DEFAULT NULL, `dvig` varchar(10) DEFAULT NULL, PRIMARY KEY (`Id`), UNIQUE KEY `mod_index1` (`id_model`,`kuzov`,`dvig`), CONSTRAINT `mod_ogr` FOREIGN KEY (`id_model`) REFERENCES `car_model` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=cp1251; мне необходимо, чтобы связка `id_model`,`kuzov`,`dvig` была уникальна. сейчас разрешается добавить записи (43, null, 1). ограничение срабатывает только если вместо null указано како-либо значение.
0
|
29.04.2011, 13:34 | |
Ответы с готовыми решениями:
4
Внешний ключ - это простой ключ? Замена данных в таблице по связи Первичный ключ - Вторичный ключ RSA, как найти закрытый ключ имея открытый ключ, p и q Зачем нужен ключ сессии(секретный ключ) при HTTPS |
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
29.04.2011, 13:46 | 2 |
Я не понял, ты хочешь, чтобы ни в одном из этих полей не могло быть NULL?
Сам по себе UNIQUE, в отличие от PRIMARY KEY, NULL допускает
0
|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 5
|
|
29.04.2011, 13:52 [ТС] | 3 |
хочу чтобы не было возможности добавить
(43, null, 1) если в таблице уже есть запись 43, null, 1 видимо придется по умолчанию ставить NOT NULL и значение "n/a"
0
|
Модератор
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
29.04.2011, 13:58 | 4 |
Тогда это надо решать какими-то другими средствами (триггерами или еще как).
С помощью ограничения это не решить, поскольку комбинация (1, NULL, 2) <> (1, NULL, 2) с точки зрения СУБД. NULL логически не равен ничему, поэтому и NULL <> NULL
1
|
0 / 0 / 0
Регистрация: 16.08.2007
Сообщений: 5
|
|
29.04.2011, 14:08 [ТС] | 5 |
спасибо, теперь я спокоен.
буду решать иначе.
0
|
29.04.2011, 14:08 | |
29.04.2011, 14:08 | |
Помогаю со студенческими работами здесь
5
Не удается преобразовать ключ в токен -- Недействительный открытый ключ сборки Выбрать из файла содержащую заданный ключ строку и следующие за ней строки до строки, содержащей другой ключ Вычисляет ли словарь хеш, если ключ - числовое значение или в таком случае за хеш берется сам ключ? Ключ ХР Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |