У меня есть таблица MySQL под названием рейсы, которая включает поля, называемые происхождения и назначением которые являются кодами аэропортов, указанных в таблице аэропортов и которые я определил, как CHAR (3). Я хочу иметь возможность вставлять записи, где по очевидным причинам значения в столбцах происхождения и отправления не могут быть одинаковыми. Как это сделать с помощью инструкции SQL INSERT INTO TABLE?Обеспечение неравенства строк в MySQL
-3
A
ответ
0
Единственный способ сделать это в MySQL - использовать триггер.
Другие базы данных поддерживают ограничение check
, где вы можете указать check (origin <> destination)
. MySQL принимает этот синтаксис, но, к сожалению, не применяет ограничение.
Вы также можете сделать это на уровне приложения.
0
Создать триггер:
CREATE TRIGGER `travels_before_insert` BEFORE INSERT ON `travels` FOR EACH ROW BEGIN
DECLARE msg VARCHAR(255);
IF NEW.source=NEW.destination THEN
set msg = "Error: You can't have same source and destination";
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = msg;
END IF;
END;
Что она делает это предотвратить вставку из встречающихся если источник и назначения совпадает.
+0
Спасибо за ваш ответ. Я дам этот триггер (при условии, что phpMyAdmin позволит мне) и сообщит о моих выводах. – Jockfaire
Смежные вопросы
- 1. Обеспечение уникальных строк с использованием PHP/MySQL
- 2. обеспечение минимального количества строк, возвращаемых
- 3. Оператор неравенства (! = Эквивалент) в swift
- 4. Программное обеспечение PHP + MySQL
- 5. Подмножество строк с использованием неравенства значений даты в R
- 6. Условные неравенства в r
- 7. Merge неравенства в одно
- 8. Быстрее неравенства в C
- 9. Обеспечение одинакового количества строк в свертке оракула
- 10. Специфическое аппаратное обеспечение узла кластера MySQL MySQL
- 11. Удаление знаков неравенства в Powerline
- 12. Оператор сравнения неравенства в VB?
- 13. Изменение неравенства в двоичном коде
- 14. Оператор коммутативности неравенства = в C++
- 15. Неравенства и скобки в Python
- 16. Тестирование неравенства в T-SQL
- 17. интерпретация двойного неравенства в SAS
- 18. Поведение неравенства выражается в JavaScript
- 19. В пакете limSolve ошибка LSEI: неравенства противоречивы
- 20. Обеспечение отправки php-данных в mysql
- 21. Ошибка неравенства VLookup
- 22. Неравенства внутри переключателя заявление
- 23. Выполнение оператора неравенства
- 24. Решение неравенства с Matlab
- 25. Oracle оператор неравенства: ¬ =
- 26. сравнения неравенства между строками в Oracle
- 27. ContourPlot и график неравенства
- 28. Алгоритм определения отношений неравенства
- 29. Асимптотические аналитические неравенства
- 30. ElasticSearch и неравенства
Добавить уникальный указатель в оба столбца – Mihai
@Mihai Это не помешает перелету с 'ABC' на' ABC' в БД. Валидация для этого должна выполняться на уровне приложения. – ceejayoz
, так что если бы мне пришлось выполнить это в php, я бы предположил, что мне придется использовать встроенную функцию, которая сравнивает две строки ввода? – Jockfaire