У меня были проблемы с полем INT, в котором не может быть никакого значения, нулевого значения или целого числа выше нуля, и поскольку
SELECT foo FROM bar where foo = ''
оценивает идентично
SELECT foo FROM bar where foo = 0
Я переопределил foo как foo INT (11) NULL, чтобы строки, в которых не указано значение для foo, не выбирались ни foo = 0, ни foo = '', а только foo IS NULL
Это хороший способ справиться с разницей между нулевым значением и нулевым значением?