У меня это заявление:MySQL исключает NULL/пустое совпадение?
SELECT id FROM laptops
WHERE (hostname = :hostname)
OR (asset_tag = :asset_tag)
OR (serial = :serial) LIMIT 1
По существу я хочу, чтобы проверить, есть не матч на любой из этих трех полей. Проблема в том, что я получаю совпадения там, где их не должно быть, и это заставляет меня думать, что если одно из этих полей пуст как в MySQL, так и в проверенных данных, оно совпадает с флажком. Правильно ли это звучит? Если да, то как я могу исключить пустые значения из этого процесса сопоставления?
По пустым, вы имеете в виду 'NULL' или пустую строку? Значение «NULL» приведет к сбою сравнений, поэтому ничего не будет возвращено. –
@Gordon Linoff Я сравниваю с пустыми строками. – daninthemix