Я запускаю MySQL 5.5.47 и имею несколько таблиц базы данных, которые имеют столбцы с типом данных TINYINT(1)
. Я пытаюсь изменить их на BOOLEAN
, но это не изменит их.phpmyadmin не изменит MySQL TINYINT (1) на тип данных BOOLEAN
Использование phpmyadmin 4.6.0, затем переход к структуре Я использую раскрывающийся список, чтобы установить столбцы в BOOLEAN
. Это выполняет следующий запрос:
ALTER TABLE `feedback` CHANGE `tick_receive_updates` `tick_receive_updates` BOOLEAN NOT NULL;
Запрос выполняется успешно.
Когда я осматриваю структуру он не обновляется: колонки по-прежнему отмечены как TINYINT(1)
Сначала я думал, что это было PHPMyAdmin ошибка, поэтому я побежал
DESCRIBE feedback;
К сожалению, проблема остается - столбцы не изменились с TINYINT(1)
Почему это?
Интересно. Интересно, почему тогда они предоставляют BOOLEAN в качестве опции? Я соглашусь с этим в качестве решения, поскольку, создав таблицу * new * (вместо того, чтобы модифицировать существующую), и установите ее в BOOLEAN, она действительно отображается как TINYINT (1) при использовании DESCRIBE или на вкладке Structure. Очень странно! – Andy
это не вариант, это синоним. В MySQL есть несколько синонимов, и для них есть несколько причин. BOOLEAN является реальным типом данных на других РСУБД, синоним упрощает переход для разработчика. Для этого нет никакого другого объяснения. –