首页
学习
活动
专区
圈层
工具
发布

【MySql】表的约束

); ERROR 1048 (23000): Column 'class_room' cannot be null mysql> insert into myclass (class_name,class_room...) values (NULL,NULL); ERROR 1048 (23000): Column 'class_name' cannot be null mysql> 默认值default 默认值:某一种数据会经常性的出现某个具体的值...t14 (name,age,gender) values (NULL,20,'男'); ERROR 1048 (23000): Column 'name' cannot be null mysql>...和NOT NULL不冲突,而是互相补充的,当用户想插入的时候,无非就是NULL或者合法数据,当用户忽略这一列的时候,使用默认值(前提是设置了默认值),如果没有设置,直接报错。...主键 primary key 主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个。但是并不意味着一个表中的主键,只能添加给一列。

2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2024Mysql And Redis基础与进阶操作系列(3)作者——LJS

    它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。 为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。...规定某个字段不能为空 UNIQUE 唯一约束 规定某个字段在整个表中是唯一的 PRIMARY KEY 主键 PRIMARY KEY 主键 FOREIGN KEY 外键约束 CHECK 检查约束 DEFAULT...ERROR 1048 (23000): Column 'cardid' cannot be null insert into student values(2,'李四',null,'110222198912032546...'); //成功,tel允许为空 insert into student values(3,null,null,'110222198912032547'); //失败 ERROR 1048 (...唯一约束可以是某一个列的值唯一,也可以多个列组合的值唯一。 唯一性约束允许列值为空。 在创建唯一约束的时候,如果不给唯一约束命名,就默认和列名相同 MySQL会给唯一约束的列上默认创建一个唯一索引。

    74710

    MySQL数据库(四):约束条件

    安装环境: 操作系统版本:RHEL 6.5 版本:MYSQL 5.5 约束条件的作用: 限制如何给字段赋值,创建表的时候如果没有设置的话,就是mysql建表的默认设置包括表结构的后四列。...1、NULL 是否允许空值 在不设置的时候,默认允许字段值为空 mysql> desc yueshu; +-------+--------------------+------+-----+----...-----+------+ |      | NULL | boy  | +------+------+------+ 1 row in set (0.00 sec) 2、NOT NULL 不允许为空...> insert into yueshu(name) values(null); ERROR 1048 (23000): Column 'name' cannot be null 3、KEY 索引类型...建表时,没有设置字段的默认值,mysql吧字段的默认值设置为空 例子: mysql> create table yueshu(     -> name varchar(20) not null,

    2.2K50

    第13章_约束

    : 所有列的下面 默认和非空不支持,其他支持 可以(主键没有效果) 根据约束起的作用,约束可分为: NOT NULL 非空约束,规定某个字段不能为空 UNIQUE 唯一约束,规定某个字段在整个表中是唯一的...非空约束只能出现在表对象的列上,只能某个列单独限定非空,不能组合非空 一个表可以有很多列都分别限定了非空 空字符串’' 不等于 NULL,0 也不等于 NULL # 2.4 添加非空约束...ERROR 1048 (23000): Column 'cardid' cannot be null insert into student values(2,'李四',null,'110222198912032546...');#成功,tel允许为空 insert into student values(3,null,null,'110222198912032547');#失败 ERROR 1048 (23000):...添加数据时,没有任何错误或警告 但是 MySQL 8.0 中可以使用 check 约束了。

    1.6K30

    MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解

    ,其他支持 可以(主键没有效果) 根据约束起的作用 ,约束可分为: NOT NULL 非空约束,规定某个字段不能为空 UNIQUE 唯一约束 , 规定某个字段在整个表中是唯一的 PRIMARY KEY...ERROR 1048 (23000): Column 'cardid' cannot be null insert into student values(2,'李四',null,'110222198912032546...');#成功,tel允许为空 insert into student values(3,null,null,'110222198912032547');#失败 ERROR 1048 (23000): Column...主键约束对应着表中的一列或者多列(复合主键) 是多列组合的复合主键约束,那么这些列都不允许为空值,并且组合的值不允许重复。 MySQL的主键名总是PRIMARY ,就算自己命名了主键约束名也没用。...添加数据时,没有任何错误或警告 但是 MySQL 8.0中可以使用check约束了 。

    1.4K10

    MySQL表的完整性约束

    约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: # NOT NULL :非空约束,指定某列不能为空; # UNIQUE : 唯一约束,指定某列或者几列组合不能重复 # PRIMARY...KEY :主键,指定该列的值可以唯一地标识该列记录 # FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 返回顶部 NOT NULL 是否可空,null表示空,非字符串...mysql> insert into t12 values (null); ERROR 1048 (23000): Column 'id' cannot be null mysql> insert into...DEFAULT 我们约束某一列不为空,如果这一列中经常有重复的内容,就需要我们频繁的插入,这样会给我们的操作带来新的负担,于是就出现了默认值的概念。...null 要注意子表的外键列不能为not null .

    4K20

    Mysql系列 - 第4天:DDL常见操作汇总

    类型是用来限制 字段 必须以何种数据类型来存储记录 类型其实也是对字段的约束(约束字段下的记录必须为XX类型) 类型后写的 约束条件 是在类型之外的 额外添加的约束 约束说明 not null:标识该字段不能为空...> insert into test1 values (null); ERROR 1048 (23000): Column 'a' cannot be null mysql> insert into test1...values (1); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY' 方式2:在所有列定义之后定义,如下: mysql> drop...注意几点: 两张表中需要建立外键关系的字段类型需要一致 要设置外键的字段不能为主键 被引用的字段需要为主键 被插入的值在外键表必须存在,如上面向test6中插入ts5_a为2的时候报错了,原因:2的值在...表中列的管理 添加列 alter table 表名 add column 列名 类型 [列约束]; 示例: mysql> drop table IF EXISTS test14; Query OK,

    1.2K20

    【重学 MySQL】八十、掌握定义条件与处理程序,让数据库管理更高效!

    示例 假设在MySQL中执行一个插入操作时发生了重复键错误,那么可能会返回以下错误信息: 使用 MYSQL_error_code 表示:ERROR 1062 (23000): Duplicate entry...在这里,1062 是 MYSQL_error_code,表示重复键错误;23000 是对应的 sqlstate_value。...在这里,23000 是 sqlstate_value,表示完整性约束错误(即重复键错误);1062 是对应的MySQL错误代码。...1045:不能连接数据库,用户名或密码错误。 1048:字段不能为空。 1049:数据库不存在。 1050:数据表已存在。 1051:数据表不存在。 1054:字段不存在。...CONTINUE:表示遇到错误不处理,继续执行。 EXIT:表示遇到错误马上退出。 UNDO:表示遇到错误后撤回之前的操作,MySQL 中暂时不支持此操作。

    80310

    MySQL数据库,详解NULL让人防不胜防的坑(二)

    1 | | 1 | NULL | +------+------+ 2 rows in set (0.00 sec) 结论:当NOT IN 后⾯有NULL值时,不论什么情况下,整个sql的查询结果都为空。...结论:判断是否为空只能⽤IS NULL、IS NOT NULL。...mysql> insert into test3 values (null,1); ERROR 1048 (23000): Column 'a' cannot be null 上⾯我们创建了⼀个表test3...,字段a未指定不能为空,插⼊了⼀条NULL的数据,报错原 因:a 字段的值不能为NULL,我们看⼀下表的创建语句: mysql> show create table test3; +-------+--...• 判断是否为空只能⽤IS NULL、IS NOT NULL • count(字段)⽆法统计字段为NULL的值,count(*)可以统计值为null的⾏ • 当字段为主键的时候,字段会⾃动设置为not

    51140

    【MySQL】约束类型

    创建方式: -- 建表时添加非空约束 CREATE TABLE student ( id INT NOT NULL, name VARCHAR(50) NOT NULL -- 用户名不能为空...); 行为特性: 插入记录时,必须为非空列提供具体值,否则会抛出ERROR 1048 (23000): Column 'username' cannot be null 修改记录时,不能将非空列的值设置为...NULL 可以通过DESCRIBE命令查看列的非空属性,"Null"列显示"NO"表示非空约束生效: 可以通过DESCRIBE命令查看列的非空属性,"Null"列显示"NO"表示非空约束生效...这个时候null列: NO表示当前列不能为空 YES 表示当前列可以为空 注意事项: 非空约束是最基础的约束类型,应优先为关键业务字段添加 对于可选信息(如用户的昵称、备注)不应设置非空约束 MySQL...中,字符串类型的非空列如果未指定默认值,插入时必须显式提供值 2.

    23910
    领券