MySQL通过SQL文件创建表使表结构奇怪

时间:2018-08-27 15:07:56

标签: mysql phpmyadmin

我使用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是索引字段(在右侧是灰色键),但是所有字段也都具有黄色键!在“操作”列下,所有字段均可见: 变更|下降|关键图片|主要| U Unique |更多 除此之外,Navicat还提供了带有Null内容的空日期类型字段,在这里,在托管位置,它充满了0000-00-00,并且我不确定如何设置SQL以检查某些特定内容是否未填写,例如我在本地计算机上使用了ISNULL,例如:

select * FROM traffic where p_invnum='$par1' AND ISNULL(p_returned)

我是否犯了一些错误,或者是phpmyadmin功能?谢谢。

1 个答案:

答案 0 :(得分:0)

在phpmyadmin中,我将主题更改为另一个主题,称为“原始”,环境现在更加经典,简单,但是提到的表的结构选项现在看起来与我期望的不同。为什么,我不知道。 此外,空的日期类型字段填充有0000-00-00而不是Null(作为默认值),并不会迫使我更正查询,可能是MySQL本身接受了Regulated作为Null。