Как я понял, в SQL
NULL - это пустота и лучше записывать его, чем пустую строку.
Или нет разницы, на NULL или на пустоту я буду проверять колонку?
Просто с записью NULL возникают проблемы, а записать пустоту - нетрудно.
И если NULL лучше, то как записать его через value?
value="NULL" - записывает "NULL" в виде строки, а не в виде NULL