【发布时间】:2014-09-26 04:21:51
【问题描述】:
为什么我不能使用 MySQL 将 NULL 插入 varchar 列?
PHP:
if ($startSemester == "") {
$startSemester = 'NULL';
}
mysqli_query($gradschool_application_2_connect, "INSERT INTO Application (startSemester) VALUES ('".$startSemester."')");
当前代码输入的是字符串NULL,而不是类型。如果我删除单引号,我的查询将不起作用。
【问题讨论】:
-
列上是否有 NOT NULL 约束?
-
它必须是
VALUES (NULL)而不是VALUES('NULL')。为此使用准备好的语句是个好主意。 -
也许您的数据库字段设置为非空值?
-
删除
$startSemester = NULL;周围的引号会在数据库中输入一个空字符串。没有 NOT NULL 约束。 -
请让世界变得更美好,不要编写极易受到 SQL 注入攻击的代码。