详细解释MySQL数据库默认设置的三种不同表现情况具体表现是什么?这是一个带有实验的简单测试。1.建表脚本CREATETABLE`test`(`uid`varchar(32)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciNOTNULL,`USER_CODE`varchar(225)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciNULLDEFAULTNULLCOMMENT'用户编码',`LEAVE_REASON`varchar(255)CHARACTERSETutf8mb4COLLATEutf8mb4_general_ciNULLDEFAULT''COMMENT'请假理由',PRIMARYKEY(`uid`)USINGBTREE)ENGINE=InnoDBCHARACTERSET=utf8COLLATE=utf8_general_ciROW_FORMAT=Dynamic;2、查看列定义SELECTc.TABLE_SCHEMA'数据库',c.TABLE_NAME'表',c.COLUMN_NAME'字段',c.COLUMN_DEFAULT'默认值',c.IS_NULLABLE'是否为空',c.DATA_TYPE'字段类型',c.character_set_name'characterset',c.collat??ion_name'collat??ionrule'FROMinformation_schema.`COLUMNS`cWHERETABLE_NAME='test'这里可以发现default设置为NULL,information_schema中没有设置Default。`COLUMNS`表显示为NULL。如果我们的脚本以此判断,很容易和是否为空发生冲突。3.从navicat观察如果直接从navicat观察表定义,可以发现不同的表现。
