![]() |
|
Модераторы: skyboy |
![]()
|
|
| satanko |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Всем привет.
Есть таблица (tbl1) на MYSQL5 с 2 полями (id1 - INT, id2 - INT). Как сделать следующее - мне нужно запретить ввод одинаковых id (id1 = id2), т.е. если id1 = 1 и id2 = 1 (или id1 = 2 и id2 = 2 и т.д.) - нужно запретить ввод! Я думал может сделать с помощью триггера - но не знаю как. Как сделать это? |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
указать свойство поля ID уникальным.
например при создании таблицы:
Это сообщение отредактировал(а) v2v - 27.5.2008, 20:04 |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
v2v, так ты добьешься уникального поля. ему же надо уникальность в пределах не таблицы, а каждой записи - чтоб поле1 <> поле2 в каждой отдельно взятой записи.
satanko, ты чем формируешь sql-запрос? такие вещи много проще делать на стороне клиента: сравнивать вставляемые в запрос данные... |
|||
|
||||
| v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
||||
|
||||
| satanko |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
v2v, id1 и id2 вместе PRIMARY KEY.
skyboy, формирую на стороне PHP. Но я думал запретить такой ввод на уровне базы даных. Можно ли это сделать? |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
религия? ок. тогда тебе нужен будет хостинг с mysql5(версии ниже не поддерживают триггеры) и ознакомиться с разделом документации CREATE TRIGGER |
|||
|
||||
| satanko |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 21.11.2006 Репутация: нет Всего: нет |
Возможно Если можно пример запрета ввода даных на триггере бо я не знаю как написать. В MSSQL это примерно так:
А как сделать такое на MySQL - |
||||
|
|||||
| v2v |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: нет Всего: 56 |
не нашёл как в мускульных триггерах генерить алерты?? (exceptionы).
но нашёл обходной путь - вставлять алерт в таблицу ошибок. вот тригер
ещё надо создать таблицу error_msg и добавь в него запись ID1 equal ID2!.
и теперь когда ты будешь создавть запись с одинаоквыми ид будет вылетать вот такая ошибка:
|
||||||
|
|||||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MySQL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |