如果我在 phpMyAdmin 下查看我的表结构,它具有以下结构:
Type - time
NULL - Yes
Default - NULL
那么为什么当我做一个简单的INSERT INTO
... 时的值是否默认为 00:00:00 即使我输入的值是null
. 我对类型有同样的问题,int
但对 varchar 没有。
编辑 - 我添加了以下内容。
mysql 中的 zip 是 int 类型(默认NULL
),mysql 中的 st_time 是 time 类型(默认NULL
)。我已经测试了代码,它适用于 zip 但不适用于st_time
.
if($zip == NULL){
$zip = 'NULL';
}
if($st_time == NULL){
$st_time = 'NULL';
}
$cont=mysql_query("INSERT INTO mytable(zip,st_time)VALUES($zip, $st_time)");
我在 stackoverflow 上找到了这段代码,它显然解决了这个问题,但我不知道如何使用下面的代码插入多个值。
mysql_query("INSERT INTO cb (name) VALUES (" . ($name == null ? "NULL" : "'$name'") . ")");
使用解决方案编辑 TAKE 2(警告 - 这很难看)
if($zip == NULL){
$zip = 'NULL';
}
if($st_time == NULL){
$st_time = 'NULL';
}
else{
$st_time = "'".$st_time."'";
}
$cont=mysql_query("INSERT INTO mytable(zip, st_time)VALUES($zip, $st_time)");