Можете ли вы установить для CHAR значение NULL или пустую строку? - PullRequest
5 голосов
/ 13 мая 2011

В прошлом я не слишком часто использовал CHAR, так как мне казалось, что я слишком часто использую VARCHAR;Я пытаюсь использовать CHAR, когда это уместно в последнее время, и насколько я понимаю, вы используете его, когда все данные имеют одинаковую длину в этом определенном столбце (в противном случае они заполнены пробелами).

Поскольку все данныедолжна быть такой же длины, мне было интересно, может ли поле CHAR быть пустым или пустой строкой?Например, в тех случаях, когда это конкретное поле не имеет значения, в то время как другие имеют.

Ответы [ 2 ]

7 голосов
/ 13 мая 2011

Ответ на ваш вопрос (-ы): Да.

Да, тип CHAR может иметь значение NULLable.Я полагаю, что каждый тип столбца может допускать NULL.

Да, тип CHAR может быть пустой строкой.БД не увидит пустую строку как отличную от любой другой строки.Я бы не советовал когда-либо использовать пустую строку, потому что почти во всех случаях пустая строка (отсутствие ЛЮБЫХ символов) пытается представить недостаток данных, для чего и нужен NULL.

Если выВы хотите узнать более подробную информацию о разнице между CHAR и VARCHAR в MySQL, в частности ...

Справочник по MySQL 5.0 - типы CHAR и VARCHAR

2 голосов
/ 13 мая 2011

Да, можно использовать как NULL, так и пустую строку. Данные не имеют одинаковой длины в столбце, как вы заметили, все, что меньше, просто заполняется пробелами для заполнения столбца.

...