Что делает MATCH NONE?
Короче говоря, ничего внутри SQLite, когда кодируется как ограничение во внешнем ключе.
Внутри внешнего ключа это не оказывает влиянияпри обработке внешнего ключа он игнорируется, но все еще анализируется и ожидает, что за ним последует ключевое слово, что также учитывается.
Он в основном поддерживает кодирование ключевого слова MATCH иэто опции SIMPLE , PARTIAL и FULL (и, очевидно,).Однако второе ключевое слово не ограничивается ключевыми словами SIMPLE , PARTIAL и FULL .
Я считаю, что любое слово (неуверенность в ограничениях, если таковые имеются, но в качестве теста RUMPLESTILTSKIN как второе слово было проанализировано) словотребуется, чтобы соответствовать 2-словному формату ключевого слова (sic).
Обратите внимание, что числовые значения приведут к синтаксической ошибке.
В основном обслуживает SQL из других СУБД, как это часто делает SQLite.
MATCH NONE можно было бы закодировать, чтобы вызвать ошибку в SQL, если она используется DM, чтобы подчеркнуть необходимость учитывать тот факт, что обработка внешнего ключа SQLite может отличаться или должна учитываться.
Поддержка внешнего ключа SQLite - 6. Ограничения и неподдерживаемые функции
MATCH имеет другие применения в SQL вне внешнего ключа: -
MATCH - это оператор FTS3 / 4 (полнотекстовый поиск), похожий на LIKE, но находит слова, например, MATCH ('Fred') найдет Fred was here
, но не Frederick was here
.
SQLite FTS3 и FTS4 Extensions
MATCH также является оператором в выражении согласно: -
Оператор MATCH является специальным синтаксисом для match ()определяемая приложением функция.Реализация функции match () по умолчанию вызывает исключение и ни к чему не приводит.Но расширения могут переопределять функцию match () с помощью более полезной логики.
SQL как понял SQLite - выражение - операторы LIKE, GLOB, REGEXP и MATCH
Считается ли уместным явно определить его в операторе CREATE TABLE?
Вероятно, да, поскольку это затем подчеркивает разницу посредством синтаксической ошибки (возможно,), что обработка внешнего ключа SQLite может отличаться.