当前位置: 首页 > news >正文

官方网站开发需求咸阳公司做网站

官方网站开发需求,咸阳公司做网站,最好用的手机优化软件,免费找答案的网站MySQL允许您同时使用支持回滚的事务表和不支持回滚的非事务表。因此#xff0c;MySQL中的约束处理与其他数据库管理系统有所不同。当在非事务表中插入或更新了大量行时#xff0c;并且在发生错误时无法回滚更改时#xff0c;我们必须处理这种情况。 基本理念是#xff0c;…MySQL允许您同时使用支持回滚的事务表和不支持回滚的非事务表。因此MySQL中的约束处理与其他数据库管理系统有所不同。当在非事务表中插入或更新了大量行时并且在发生错误时无法回滚更改时我们必须处理这种情况。 基本理念是MySQL服务器在解析要执行的语句时会尽可能地检测出错误并在执行语句时尝试恢复任何发生的错误。我们在大多数情况下都是如此处理的但并不是所有情况下都可以做到。 当错误发生时MySQL有两个选项停止语句的执行或尽可能地从问题中进行恢复并继续执行。默认情况下服务器会选择后者。这意味着例如服务器可能会将无效的值强制转换为最接近的有效值。 有多种SQL模式选项可用于更精确地控制如何处理错误数据值以及在错误发生时是继续语句执行还是中止。通过使用这些选项您可以配置MySQL服务器以更接近其他拒绝不当输入的DBMS的传统方式工作。SQL模式可以在服务器启动时全局设置以影响所有客户端。各个客户端可以在运行时设置SQL模式使每个客户端能够选择最适合其需求的行为。 以下几节将介绍MySQL Server如何处理不同类型的约束。 主键约束PRIMARY KEY和唯一索引约束UNIQUE Index 通常对于可能违反主键约束、唯一键约束或外键约束的数据更改语句如INSERT或UPDATE会发生错误。如果您使用的是诸如InnoDB之类的事务性存储引擎MySQL会自动回滚该语句。如果您使用的是非事务性存储引擎MySQL会在出现错误的行处停止处理该语句并保留其他未处理的行。 MySQL支持INSERT、UPDATE等语句中的IGNORE关键字。如果使用该关键字在发生主键或唯一键冲突时MySQL会忽略该错误并继续处理下一行数据。 您可以借助mysql_info() C API函数来获取实际插入或更新的行数信息。您还可以使用SHOW WARNINGS语句来查看警告信息。 InnoDB和NDB表支持外键约束。 外键约束  外键允许您在表之间进行相关数据的交叉引用而外键约束有助于保持这些分散的数据的一致性。 MySQL在CREATE TABLE和ALTER TABLE语句中支持ON UPDATE和ON DELETE外键引用。可用的参照动作包括RESTRICT、CASCADE、SET NULL和NO ACTION默认选项。 MySQL Server支持SET DEFAULT但在InnoDB中目前被拒绝为无效。由于MySQL不支持延迟约束检查因此NO ACTION被视为RESTRICT。 允许使用MATCH FULL、MATCH PARTIAL和MATCH SIMPLE但应尽量避免使用因为它们会导致MySQL Server忽略同一语句中使用的任何ON DELETE或ON UPDATE子句。在MySQL中MATCH选项没有其他影响实际上全时强制执行MATCH SIMPLE语义。 MySQL要求对外键列进行索引如果您创建一个具有外键约束但在某列上没有索引的表将会自动创建索引。  您可以从Information Schema KEY_COLUMN_USAGE表中获取有关外键的信息。下面是一个针对该表的查询示例 mysql SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA IS NOT NULL; ----------------------------------------------------------- | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | CONSTRAINT_NAME | ----------------------------------------------------------- | fk1 | myuser | myuser_id | f | | fk1 | product_order | customer_id | f2 | | fk1 | product_order | product_id | f1 | ----------------------------------------------------------- 3 rows in set (0.01 sec) 有关InnoDB表上的外键信息也可以在INFORMATION_SCHEMA数据库的INNODB_FOREIGN和INNODB_FOREIGN_COLS表中找到。 InnoDB和NDB表支持外键。 在无效数据上强制执行约束 默认情况下MySQL 8.0会拒绝无效或不正确的数据值并中止出现问题的语句。可以改变这种行为使其更宽容地处理无效值即服务器将其强制转换为有效值进行数据输入方法是禁用严格的SQL模式但这不被推荐。 旧版本的MySQL默认采用宽容的行为。 ENUM和SET约束  ENUM和SET列提供了一种有效的方式来定义只能包含给定值集合的列。 除非禁用了严格模式否则ENUM或SET列的定义将作为对输入到该列的值的约束。不满足这些条件的值会导致错误的发生  ENUM值必须是列定义中列出的值之一或者是其内部的数值等价物。该值不能是错误值即0或空字符串。对于定义为ENUM(a,b,c)的列像、d或ax这样的值是无效的并且会被拒绝。SET值必须是空字符串或仅由以逗号分隔的列定义中列出的值组成。对于定义为SET(a,b,c)的列像d或a,b,c,d这样的值是无效的并且会被拒绝。 如果在严格模式下使用INSERT IGNORE或UPDATE IGNORE可以抑制无效值的报错。在这种情况下将生成一个警告而不是错误。对于ENUM值会以错误成员0的形式插入。对于SET值会按照给定的值插入但会删除任何无效的子字符串。例如a,x,b,y 的结果是 a,b。
http://www.zqtcl.cn/news/279169/

相关文章:

  • 工程师报考网站wordpress设置视频图片不显示图片
  • 徐州网站建设公司排名成都住建平台
  • 用来备案企业网站国外免费外贸网站
  • 网页背景做的比较好的网站做一个企业网站价格
  • 免费制图网站县级门户网站建设的报告
  • 北京网站建设网怎么用手机做一个网站
  • 网站建设管理办法关于公司门户网站建设的议案
  • 网站开发入职转正申请书体验好的网站
  • 在线精品课程网站开发网站备案号怎么修改
  • 网站建设 风险百度热搜的含义
  • 怎样创作网站公司做网站 要准备哪些素材
  • 网站上的平面海报怎么做南阳企业做网站
  • 佛山公众平台网站推广多少钱wordpress如何调用分类目录
  • 网站推广应该注意什么信息发布平台推广
  • 官方网站案例做网站私活在哪接
  • 做网站滨州wordpress 不同域名
  • 找人做设计的网站广州做网站(信科网络)
  • 如何选择网站做站方向青之峰网站建设
  • 福州哪家网站制作设计高端还实惠设计logo的理念
  • 吉林市网站建设促销式软文案例
  • 三门峡市建设局网站网站开发费用是否资本化
  • 建设部网站官网 施工许可杭州萧山网站开发
  • 福建省建设资格注册管理中心网站竹子建站怎么样
  • 想做一个什么样的网站网站建设功能评价指标
  • 网站建设渠道合作友情链接是免费的吗
  • wordpress如何制作网站网站建设及推广方案ppt
  • 关于建设门户网站的通知重庆刮刮卡制作
  • 网站建设和维护工作内容凡科网免费建站步骤及视频
  • 如何用c 做网站最新疫苗接种最新消息
  • 营销型网站建设报价wordpress 注册 登录界面