我正在创建一个MySQL数据库,它由每周数据集组成,可以追溯到过去十年.最近的记录中存在一些数据点,但在某些较旧的数据集中未跟踪这些数据点.有问题的字段都包含整数值,'0'是跟踪数据点的记录的完全有效(和频繁)值.我需要能够区分零值和不存在的数据.因此,我需要找出是否可以为INT类型存储未表示为"0"的NULL(读取:BLANK CELL).但是,传递给DB的NULL值表示为'0'(至少,它们在phpMyAdmin中),有什么办法可以改变它吗?
谢谢你的帮助.
Bru*_*lva 14
您可以将值设置为NULL.INSERT INTO table (INT_COLUMN) VALUES (NULL)是有效的SQL(INT_COLUMN是可以为空的int列).
答案是"是" - 你可以拥有可以为空的int列.不过你呢?
经常null被滥用和误解.在SQL数据库中,null表示"未知".在你的情况下,使用null是完美的,所以"是的 - 你应该"
在某些情况下,您希望将特定值用于"null",例如-1数量.这种方法是有效的,用于简化应用程序代码和SQL,因为在查询中处理空值是一个痛苦的问题:
WHERE NAME IN (SELECT COL1 FROM SOMETABLE)如果任何选定的值为null ,则永远不会有效