Я играл с MySQL DB 5.6 как с практикой. В качестве инструмента для создания таблицы я использовал Navicat и сделал таблицу с этим
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for promet
-- ----------------------------
DROP TABLE IF EXISTS `traffic`;
CREATE TABLE `traffic` (
`p_id` bigint(20) NOT NULL AUTO_INCREMENT,
`p_cbr` bigint(20) DEFAULT NULL,
`p_invnum` bigint(20) DEFAULT NULL,
`p_issued` date DEFAULT NULL,
`p_returned` date DEFAULT NULL,
`p_deadtime` smallint(4) DEFAULT NULL COMMENT 'end date',
PRIMARY KEY (`p_id`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4;
но когда я загрузил его на хостинг с помощью phpmyadmin, я получил таблицу, в которой каждый столбец (поле) получил маленький ключ на правом конце? Я ожидал, что только p_id является индексированным полем (справа - серый ключ), но все поля также имеют желтый ключ! Под действием столбец для всех полей виден:
Изменить | Drop | Ключевая картинка | Первичная | U Уникальный | Больше
Кроме того, Navicat представил пустые поля типа даты с содержимым Null, здесь, на хостинге, он заполнен 0000-00-00, и я не уверен, как настроить SQL для проверки того, что некоторые данные не заполнены. например, Я использовал ISNULL на моей локальной машине, например:
select * FROM traffic where p_invnum='$par1' AND ISNULL(p_returned)
Я допустил ошибку или это функция phpmyadmin? Спасибо.