gpt4 book ai didi

mysql - 数据库中的必填字段

转载 作者:行者123 更新时间:2023-11-29 02:03:21 25 4
gpt4 key购买 nike

我创建了一个这样的数据库表:

CREATE TABLE test(
name VARCHAR(30) NOT NULL,
password VARCHAR(40) NOT NULL);

然后我像这样添加到它,如预期的那样失败了。

INSERT INTO test(name, password) VALUES ('test', NULL);

但是当我尝试这个时它插入没有问题:

INSERT INTO test(name) VALUES ('test');

我尝试以不同的方式创建表,但它没有创建:

CREATE TABLE test(
name VARCHAR(30) NOT NULL,
password VARCHAR(40) NOT NULL DEFAULT NULL );

那么有没有办法让它在插入时产生错误?

也许相关 我想我需要做一些其他事情才能验证输入到数据库中的数据,我想我看到了一些关于约束的东西,但我认为这些在 mysql 中不受支持?那么空检查和验证是不是我不能用mysql做数据库的事情?

最佳答案

默认情况下,MySQL 将隐式 NULL 值替换为零(或字符串数​​据类型的空字符串)。

您可以通过为 session 或服务器启用严格模式来解决此问题:

SET sql_mode='STRICT_ALL_TABLES'

或添加

sql_mode='STRICT_ALL_TABLES'

my.cnf 中的 [mysqld] 下。

关于mysql - 数据库中的必填字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com