我创建了一个NOT NULL对MySQL中的某些列有约束的表.然后在PHP中我编写了一个插入数据的脚本,带有插入查询.当我省略NOT NULL这个insert语句中的一个列时,我会期望来自MySQL的错误消息,我希望我的脚本失败.相反,MySQL在NOT NULL字段中插入空字符串.在其他省略的字段中,数据为NULL,这很好.有人能告诉我这里做错了吗?
我正在使用这张桌子:
CREATE TABLE IF NOT EXISTS tblCustomers (
cust_id int(11) NOT NULL AUTO_INCREMENT,
custname varchar(50) NOT NULL,
company varchar(50),
phone varchar(50),
email varchar(50) NOT NULL,
country varchar(50) NOT NULL,
...
date_added timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (cust_id)
) ;
Run Code Online (Sandbox Code Playgroud)
这个插入声明:
$sql = "INSERT INTO tblCustomers (custname,company)
VALUES ('".$customerName."','".$_POST["CustomerCompany"]."')";
$res = mysqli_query($mysqli, $sql);
Run Code Online (Sandbox Code Playgroud)
或者使用绑定变量:
$stmt = mysqli_prepare($mysqli, "INSERT INTO tblCustomers (custname,company, email, country) VALUES (?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, …Run Code Online (Sandbox Code Playgroud) 我刚刚发现NOT NULL不需要字段.
创建mysql表时,如何创建一个不能包含null或空白的字段(必须包含某些内容)?