提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吴园园|2020-05-25 09:28:44.530|阅读 888 次
概述:在今天的文章中,我们将学习MySQL的严格SQL模式的后果,以及如何使用Navicat for MySQL 15查看和设置它。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Navicat for MySQL是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。数据传输、数据同步和结构同步让你以低成本轻松快速地迁移数据。提供详细的指引,在各种数据库之间传输数据。比对和同步数据库的数据和结构。只需几秒钟就能设置和部署比对,并获得你要运行更改的详细脚本。
第1部分:严格的SQL模式
当您不为非null列提供值时出现错误可能是造成挫败感的巨大根源。有一种方法可以通过为这些列设置默认值来最大程度地减少此类错误的发生。似乎很容易解决,但在所有方面,细节都是魔鬼。您必须小心,不要为了简化INSERT而向表中添加一堆通用且无用的数据。在今天的博客中,我们将学习MySQL的严格SQL模式的后果,以及如何使用Navicat for MySQL 15查看和设置它。在第2部分中,我们将介绍何时使用默认值(何时不使用默认值)。
严格的SQL模式和调整后的值
在MySQL中,您可以通过启用严格SQL模式来控制MySQL如何处理数据更改语句(例如INSERT或UPDATE)中的无效值或缺失值。当要插入的新行不包含其定义中没有显式DEFAULT子句的非NULL列的值时,缺少值。如果严格模式无效,MySQL 将为无效或缺失值插入调整后的值,并产生警告。调整值的示例包括一个空字符串,零和一个注册日期为00:00:00的时间戳记/日期。
很明显,调整后的值可能会破坏默认值的整个方面。因此,通常最好激活严格的SQL模式并在适当的地方提供默认值。在Navicat中,您可以在服务器监视器的“变量”选项卡上检查SQL模式的当前值。您可以在主菜单中的“工具”>“服务器监视器”下找到它。
如果存在STRICT_ALL_TABLES或STRICT_TRANS_TABLES,则启用严格SQL模式。在决定使用哪种格式时,请注意后者更为宽容,因为如果缺少值,MySQL会为列数据类型插入适当的调整值,并生成警告而不是错误。此外,语句的处理继续进行。同时,无效值被转换为最接近的有效值。
严格的SQL模式运行
让我们使用Sakila示例数据库将严格SQL模式与默认SQL模式进行比较。actor表不允许任何列中都为空,如“ 非空”标题下的复选框所示:
如果我们使用SET命令为当前会话禁用严格SQL模式,并执行仅提供last_name的INSERT,则数据库会接受它,但为first_name提供空字符串:
如果我们重新激活严格模式,则相同的INSERT现在会失败,并显示一条错误消息:
结论
在今天的文章中,我们了解了MySQL的严格SQL模式的后果,以及如何使用Navicat for MySQL 15对其进行查看和设置。在第2部分中,我们将介绍何时以及何时使用默认值没有意义。有想要购买正版授权的朋友,欢迎
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
文章转载自:本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢