Подтвердить что ты не робот

Как добавить логическое поле в MySQL?

Кажется, я должен использовать tinyint(); но я не знаю, как его реализовать?

Вопрос в том, какова ваша рекомендация, если мне нужно иметь логическое поле в БД MySQL и изменить его значение с помощью PHP

4b9b3361

Ответ 1

Yep, TINYINT(1) - это путь... вы также можете использовать BOOL или BOOLEAN, которые являются синонимами ( поэтому это не имеет значения).

0 оценивается как false в PHP и 1 до true (на самом деле любое другое число, чем 0, оценивается как true, но обычно используется 1).

Ответ 2

Я предпочитаю ни один из bool, BIT, TINYINT (1). потому что ни один из них на самом деле не логичен. Вы можете проверить следующую ссылку: "почему":

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html

Я бы лучше использовал: ENUM ('false', 'true') не null - как тип данных. Вы можете передать "true" или "false" (как строки) из PHP. И это займет всего 1 байт, чтобы сохранить его!

Ответ 3

Вы правы, что общее решение tinyint(1). Вы можете использовать BOOL для краткости:

CREATE TABLE example (
         flag BOOL
       );

Ответ 4

у вас есть опция tinyint (1) или бит

введите 0 или 1 в это поле

см. этот пост разницы:

Tinyint vs Bit

Ответ 5

Я думаю, так как вы на самом деле хотите применить логическое (0,1) ограничение в поле таблицы mysql, лучший снимок - uning enum

CREATE TABLE table_name(
    boolean_field_name ENUM('0', '1')
);