Когда не использовать <=> вместо = в MariaDB / MySQL? - PullRequest
1 голос
/ 21 июня 2019

Есть ли причина использовать = вместо <=> в MariaDB / MySQL?Кажется, что оператор = желателен только в том случае, если для результата выражения желателен нуль.

Есть ли какие-либо последствия замены каждого = на <=>?Даже если оба операнда не могут быть нулевыми (для которых поведение должно оставаться одинаковым)?

Ответы [ 2 ]

2 голосов
/ 21 июня 2019

Прежде всего, значение NULL совершенно неясно. В Интернете много статей о том, как люди это интерпретируют.

Следовательно, использование <=> может только добавить к путанице, и вы рискуете, чем другие разработчики, возможно, не понимают это хорошо. Он сильно отличается от стандартного поведения, которое большинство людей ожидают от запросов. Я бы посоветовал вам избегать этого, если нет веских причин для его использования.

0 голосов
/ 23 июня 2019
a = b  -- Always NULL (which is usually treated as False) if either is NULL
a <=> b  -- True if _both_ are NULL

Если оба столбца объявлены NOT NULL, использовать <=>.

бесполезно.

Практически во всех других случаях ваша логика не имеет значения.

Я почти никогда не вижу, чтобы кто-нибудь использовал <=>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...