请问MySQL建表语句中 数字类型的默认值写为 default '0' 和 default 0 有什么区别

如:


`cateid` BIGINT UNSIGNED NOT NULL DEFAULT '0',



cateid这个字段为数字类型,为什么默认值设置为字符串0?而不是用数字0?劳烦各位给解答一下,谢谢~

根据字段定义的类型,如果是字符型就用“0”,如果是数字类型就用0

效果上没区别。主要看建表时候,那个字段的类型。varchar 还是 int 。前者使用default ‘0’否则可能报错

在数据库中显示时没有任何区别,并且不会报错,可能在以下情况会出现一些问题:

  1. 实体类和数据库映射的时候
  2. sql查询的时候,条件中 如果对0 进行判断,需要注意一下