任何人都可以举例说明何时使用
allow null
default 0
default ''
和empty string
。在哪些情况下应该使用这些不同的配置?
答案 0 :(得分:2)
通常,避免使用NULL。 NULL往往需要额外的编码工作。 NULL与空字符串的处理因RDBMS而异。集合中的NULL排序因RDBMS而异。
那就是说,您可能希望: 当相关行是可选的时,在外键列上使用NULL。
如果希望从聚合操作中消除值,请使用NULL。例如,如果您有“年龄”列,但不要求所有记录都包含此信息,您仍然可以从以下位置获取有用的信息:SELECT AVG(age)FROM mytable
当您需要三元逻辑时使用NULL。
答案 1 :(得分:1)
1. NULL值表示字段中记录的值不存在(其他软件称其为缺失值)。
2.空值是“字段格式化”的值,其中没有重要数据。
3.NULL没有分配任何内存,具有NUll值的字符串只是指向内存中无处的指针。但是,虽然存储在内存中的值是“”,但是空IS被分配到内存位置。
4.Null没有边界,它可以用于数据库中的字符串,整数,日期等字段。空字符串只是关于字符串;它是像'asdfasdf'那样的字符串,但它没有长度。如果字段没有值,请使用null,而不是空字符串。
5.Null是数据库在逻辑上确定缺少值的可能性。您可以查询:FIELD_NAME为NULL