mysql中的desc表表示null不是,但默认值是null



我正在使用mysql进行项目。当我做" DESC Table_name"时,我看到表格输出显示了该字段的Null设置为No,但然后将"默认值"设置为NULL。一个字段如何没有 Null,而默认为 Null本身?

mysql> desc用户; -------------------- ----------------------- ------- ------------- ---------------------------------- ----------------------- |字段|类型|null |键|默认|额外| -------------------- ----------------------- ------- ------------- ---------------------------------- ----------------------- |id |int(10)未签名|否|pri |null |auto_increment ||create_at |时间戳|是||null |||Updated_at |时间戳|是||null |||电子邮件|Varchar(255)|否||null |||密码|Varchar(255)|否||null |||记住_token |Varchar(100)|是||null |||profile_pic |Varchar(255)|是||img/profile/profilepic.jpg |||Activation_Code |Varchar(255)|是|uni |null |||status_id |int(10)未签名|否|mul |1 |||profile_id |int(10)未签名|是|mul |null || -------------------- ----------------------- ------- ------------- ---------------------------------- ----------------------- 套装10行(0.00秒)

这是一个完美的法律组合。这意味着,当您尝试插入新行且未明确指定该列的值时,它将默认为null,从而出错。这种组合通常被用作迫使您明确分配值的一种方式,而不仅仅是依赖默认值。

  1. 我们应该知道这一点:
  • Null(NO):表示本列无法接受" null"价值
  • Null(YES):表示此列可以接受" null"价值
  • Default:表示本列的默认值:)
  1. 我们应该知道:在mysql中,空白不等于 NULL,如果我们什么都没插入一列,它将一无所有(它不会插入a null'null;

  2. 因此,当Null(NO)带有Default(NULL)时,如果我们不将此值插入,则它将具有默认值" null"它与约束冲突,然后会抛出异常

相关内容

  • 没有找到相关文章

最新更新