首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    1 MySQL约束 1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。...为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。...从以下表格四个方面考虑: 实体完整性(Entity Integrity) 例如,同一个表中,不能存在两条完全相同无法区分的记录 域完整性(Domain Integrity) 例如:年龄范围0-120,性别范围...如果删除主键约束了,主键约束对应的索引就自动删除了。 需要注意的一点是,不要修改主键字段的值。因为主键是数据记录的唯一标识,如果修改了主键的值,就有可能会破坏数据的完整性。...如果删除主键约束了,主键约束对应的索引就自动删除了。 需要注意的一点是,不要修改主键字段的值。 因为主键是数据记录的唯一标识, 如果修改了主键的值,就有可能会破坏数据的完整性。

    21510

    MYSQL ERROR CODE 错误编号的意义

    1181:回滚事务失败 1203:当前用户和数据库建立的连接已到达数据库的最大连接数,请增大可用的数据库连接数或重启数据库 1205:加锁超时 1211:当前用户没有创建用户的权限 1216:外键约束检查失败...,更新子表记录失败 1217:外键约束检查失败,删除或修改主表记录失败 1226:当前用户使用的资源已超过所允许的资源,请重启数据库或重启服务器 1227:权限不足,您无权进行此操作 1235:...冲突声明:’%s%s’和’%s%s’ 错误:1303 SQLSTATE: 2F003 (ER_SP_NO_RECURSIVE_CREATE) 消息:不能从另一个存储子程序中创建%s。...错误:1451 SQLSTATE: 23000 (ER_ROW_IS_REFERENCED_2) 消息:不能删除或更新父行,外键约束失败(%s)。...错误:1452 SQLSTATE: 23000 (ER_NO_REFERENCED_ROW_2) 消息:不能添加或更新子行,外键约束失败(%s)。

    2.9K20

    db2 terminate作用_db2 truncate table immediate

    类代码 23 约束违例 表 18. 类代码 23:约束违例 SQLSTATE 值 含义23001 RESTRICT 更新或删除规则防止父键被更新或删除。...类代码 40:事务回滚 SQLSTATE 值 含义40001 发生了伴随自动回滚的超时或死锁。40003 语句完整性未知。40504 由于系统错误导致工作单元被回滚。...类代码 40:事务回滚 SQLSTATE 值 含义 40001 发生了伴随自动回滚的超时或死锁。 40003 语句完整性未知。 40504 由于系统错误导致工作单元被回滚。...42867 指定了冲突的选项。 42872 FETCH 语句子句与游标定义不兼容。 42875 要在 CREATE SCHEMA 中创建的对象的限定符必须与模式名相同。 42877 不能限定该列名。...428A8 在父表或底层的表处于设置完整性暂挂状态时,不能对派生表使用 SET INTEGRITY 语句复位设置完整性暂挂状态。 428A9 节点范围无效。

    7.7K20

    【MySql】表的约束

    概述 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有一个字段是email,要求是唯一的。...表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。约束的本质是通过技术收到逼迫程序员插入正确的数据,反过来,站在mysql的视角,凡是插入进来的数据,都是符合数据约束的。...约束的最终目标:保证数据的完整性和可预期性所以需要更多的约束。...> insert into t14 (name,age) values ('张三',20); Query OK, 1 row affected (0.00 sec) default和NOT NULL不冲突...我们选择某一列作为主键,但是并不排除其他属性不需要维护,可能需要用到唯一键来限定,选择其他列作为唯一键,与主键配合起来,能够保证一些数据冲突。

    21530

    第13章_约束

    约束 (constraint) 概述 # 1.1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。...为了保证数据的完整性,SQL 规范以约束的方式对表数据进行额外的条件限制。...从以下四个方面考虑: 实体完整性(Entity Integrity) :例如,同一个表中,不能存在两条完全相同无法区分的记录 域完整性(Domain Integrity) :例如:年龄范围 0-120,...如果删除主键约束了,主键约束对应的索引就自动删除了。 需要注意的一点是,不要修改主键字段的值。因为主键是数据记录的唯一标识,如果修改了主键的值,就有可能会破坏数据的完整性。...FOREIGN KEY 约束 # 6.1 作用 限定某个表的某个字段的引用完整性。 比如:员工表的员工所在部门的选择,必须在部门表能找到对应的部分。

    39330

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

    MySQL数据库,从入门到精通:第十三篇——MySQL数据表约束详解 前言 在MySQL数据库中,约束是一种对数据表中数据进行限制和检查的方法,可以保证数据表中数据的完整性和一致性。...通过本文的学习,读者可以更好地了解MySQL中数据表约束的相关知识和技巧,合理使用约束来保证数据表的完整性和一致性。 第 13 篇_约束 1....约束(constraint)概述 1. 1 为什么需要约束 数据完整性(Data Integrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。...为了保证数据的完整性,SQL规范以约束的方式对 表数据进行额外的条件限制 。...AUTO_INCREMENT的值如果大于max(primary key)+1,在MySQL重启后,会重置AUTO_INCREMENT=max(primary key)+1,这种现象在某些情况下会导致业务主键冲突或者其他难以发现的问题

    24610

    【MySQL】MySQL表的增删改查(进阶篇)——之约束条件

    确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录 FOREIGN KEY: 保证一个表中的数据匹配另一个表中的值的参照完整性 看不懂???...添加时进行约束: mysql> insert into test99 values(1,'孙悟空'),(null,'唐三藏'); ERROR 1048 (23000): Column 'id' cannot...和上述添加一样,修改时也会进行约束; 修改时约束: mysql> update test99 set id=null where name='孙悟空'; ERROR 1048 (23000): Column...sec) 4.1添加数据约束 这里在第二次添加数据时,会进行约束 mysql> insert into student values(1,'孙悟空'),(1,'猪八戒'); ERROR 1062 (23000...代码如下: mysql> insert into student values(1,'猪八戒'),(null,'孙悟空'),(1,'沙悟净'); ERROR 1048 (23000): Column

    16210

    从零开始学PostgreSQL (十一):并发控制

    特殊情况处理 在串行化事务中,即使预先检查了唯一性约束,仍有可能发生冲突,尤其是在并发插入相同数据时。 为避免这类问题,所有可能引发冲突的事务在执行前应再次确认数据状态。...尽管可重复读(Repeatable Read)事务在整个执行过程中拥有稳定的数据视图,但使用MVCC快照进行数据一致性检查时存在读/写冲突的微妙问题,可能导致事务执行顺序的循环,影响完整性检查。...这类失败的SQLSTATE代码是40P01(deadlock_detected)。...在某些情况下,重试唯一键失败(SQLSTATE代码23505,unique_violation)和排除约束失败(SQLSTATE代码23P01,exclusion_violation)也是合适的。...还有一些特殊情况,即使理论上服务器有足够的信息判断序列化问题是根本原因,它仍会发出唯一键或排除约束错误。

    19310

    MySQL数据库表约束详解

    1.表的约束的概念 表中一定要有各种约束,通过约束,让我们未来插入数据库表中的数据是符合预期的。约束本质是通过技术手段,倒逼程序员,插入正确的数据。...反过来,站在MySQL的视角,凡是插进来的数据,都是符合数据约束的! 约束的最终目标:保证数据的完整性和可预期性! 下面来介绍一些主流的约束。..., 'aaa'); Query OK, 1 row affected (0.00 sec) mysql> insert into tt13 values(1, 'aaa'); ERROR 1062 (23000...): Duplicate entry '1-123' for key 'PRIMARY' -- 主键冲突 自增长: auto_increment:当对应的字段,不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值...ERROR 1062 (23000): Duplicate entry '01' for key 'id' mysql> insert into student(id, name) values(null

    7600

    《MySQL核心知识》第10章:自定义存储过程和函数

    存储过程 3、执行Proc() 存储过程 ❝注意:“DELIMITER //”语句的作用是将MySQL的结束符设置为//,因为MySQL默认的语句结束符为分号;,为了避免与存储过程」 中SQL语句结束符相冲突...SQLWARNING表示所有以01开头的sqlstate_value值。 NOT FOUND表示所有以02开头的sqlstate_value值。...第一种方法是捕获sqlstate_value值。如果遇到sqlstate_value值为42000,执行CONTINUE操作,并且输出"CAN NOT FIND"信息。...'23000' SET @X2=1; SET @X=1; INSERT INTO t8 VALUES(1); SET @X=2; INSERT INTO t8 VALUES(1); SET @X=3;...如果DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @X2=1;,这一行不存在 第二个INSERT因PRIMARY KEY约束而失败之后,MySQL可能已经采取

    3.7K10

    MySQL学习笔记汇总(四)——表的约束、存储引擎、事务

    一、表的约束 在创建表的时候,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性、有效性、完整性。...(2,'zhangsan'); ERROR 1062 (23000): Duplicate entry 'zhangsan' for key 'username' insert into t_user...insert into t_user values(3,'222','zs'); insert into t_user values(4,'111','zs'); ERROR 1062 (23000...ww@123.com'); insert into t_user(id,username,email) values(1,'jack','jack@123.com'); ERROR 1062 (23000...username varchar(255) ); 外键约束:foreign key 外键主要是维护表之间的关系的,主要是为了保证参照完整性,如果表中的某个字段为外键 字段,那么该字段的值必须来源于参照的表的主键

    1.7K50
    领券