Булево поле в mysql db - PullRequest
       6

Булево поле в mysql db

16 голосов
/ 21 января 2011

Я хочу сохранить свое значение как логическое значение в моей базе данных mysql. Но почему-то я не могу сохранить его, mysql автоматически сохраняет его типа tinyInt. Также скажите мне значения по умолчанию для логического значения. как мы передаем значения?

Ответы [ 2 ]

26 голосов
/ 21 января 2011

В MySQL BOOLEAN тип является синонимом TINYINT.Нет выделенного BOOLEAN типа.Допустимые значения: TINYINT, т. Е. 0 для false, 1-255 (предпочтительно 1) для true.

7 голосов
/ 21 января 2011

MySQL на самом деле не имеет типа BOOLEAN, если вы создадите столбец BOOLEAN, это на самом деле будет TINYINT.

Рассматривать TINYINT как логическое значение не слишком проблематично, если вы рассматриваете 0 как false, а не 0 как true, тогда это нормально.В PHP оператор наподобие if ($column) вернет true, если $ column равно любому значению, кроме 0 или что-то, что оценивается как 0. Если вам нужно, чтобы оно было явно логическим, вы можете преобразовать его достаточно легко, выполнив $column = ($column != 0);

...