我在表中有一个列,其数据类型为整数。我想到的是,添加到该列中的值将是0 - N,或者只是空白,如空变量(见下文),但我不确定这是否可能?
if($resource) {
$resource = $id - 2;
} else {
$resource = "";
}
$result = mysql_query("INSERT INTO table (...,resource,...) VALUES (...,'$resource',...)");
如果没有,我可以改为使用VARCHAR的数据类型,然后说:
if($resource) {
$resource = $id - 2;
} else {
$resource = "INVALID";
}
在这种情况下,从列resource
中提取值时是否需要执行任何转换函数,或者数字会自动被视为整数吗?
答案 0 :(得分:3)
如果该字段因任何原因应为“白色”,我认为您应该将其标记为NULLABLE并使用单词NULL(不是INVALID)
如果列是数字,从不使用varchar,则会丢失很多东西(同样,int小于varchar)
编辑1:代码段,允许在列上显示空值:
ALTER TABLE mytable MODIFY mycolumn INT;
如果您将其指定为:
ALTER TABLE mytable MODIFY mycolumn INT NOT NULL;
它不可为空,所以如果你没有以不同的方式声明它,它应该是默认的
编辑2:重要说明,列不能是唯一,否则该值将无法为空!