没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
转帖|行业资讯|编辑:鲍佳佳|2020-12-22 11:33:51.610|阅读 857 次
概述:在今天的博客中,我们将了解MySQL的严格SQL模式的后果,以及如何使用Navicat for MySQL 15来查看和设置它。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Navicat for MySQL 是管理和开发 MySQL 或 MariaDB 的理想解决方案。它是一套单一的应用程序,能同时连接 MySQL 和 MariaDB 数据库,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure、阿里云、腾讯云和华为云等云数据库兼容。这套全面的前端工具为数据库管理、开发和维护提供了一款直观而强大的图形界面。
第1部分:严格的SQL模式
没有为不可为null列提供值时出现错误可能是造成挫败感的巨大根源。通过为这些列设置默认值,可以最大限度地减少此类错误的发生。似乎很容易解决,但就如所有事情,细节都是魔鬼。您必须注意不要仅为了使INSERT更加简单就向表中添加一堆通用的和无用的数据。在今天的博客中,我们将了解MySQL的严格SQL模式的后果,以及如何使用Navicat for MySQL 15来查看和设置它。在第2部分中,我们将介绍在什么情况下采用默认值(以及何时不采用)。
严格的SQL模式和调整后的值
在MySQL中,您可以通过打开严格SQL模式来控制MySQL如何处理数据更改语句(例如INSERT或UPDATE)中的无效值或缺失值。当要插入的新行不包含其定义中没有显式DEFAULT子句的不可为NULL列的值时,会出现缺少值。如果严格模式无效,MySQL会为无效或缺失值插入调整后的值并产生警告。调整值的示例包括一个空字符串,零和00:00:00 0000-00-00的时间戳/日期。
很明显,调整后的值可能会破坏默认值的整体作用。因此,通常最好激活严格的SQL模式并在适当的地方提供默认值。在Navicat中,您可以在服务器监控器的“变量”选项卡上检查SQL模式的当前值。您可以在主菜单中的“工具”>“服务器监控器”下找到它。
如果存在STRICT_ALL_TABLES或STRICT_TRANS_TABLES,则严格SQL模式已启用。 在决定使用哪种格式时,请注意后者更为宽容,因为如果缺少值,MySQL会为列数据类型插入适当的调整值,并生成警告而不是错误。 而且,语句的处理继续进行。 同时,无效值被转换为最接近的有效值。
执行严格的SQL模式
让我们使用Sakila示例数据库将严格SQL模式与默认SQL模式进行比较。 actor表不允许任何列中为 null,如“不是 null”标题下的复选框所示:
如果我们使用SET命令为当前会话禁用严格SQL模式并执行仅提供last_name的INSERT,则数据库会接受它,但为first_name提供空字符串:
如果我们重新激活严格模式,则相同的INSERT现在会失败,并显示一条错误消息:
总结
在今天的博客中,我们了解了MySQL严格SQL模式的影响,以及如何使用 Navicat for MySQL 15进行查看和设置。在第二部分中,我们将介绍何时使用或不使用默认值。
好消息!慧都17周年庆,隆重推出购正版软件送苹果手机、电脑、3C数码等豪礼!.NET报表控件Navicat For MySql正版授权最高直降40935 元!更多优惠咨询!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@atlvshi.cn
文章转载自:JetBrains 官方推出的微信小程序插件为开发者提供了强大的支持,简化了 WXML、WXSS 和 WXS 的语法编辑。通过 WebStorm,开发者可以高效地进行小程序开发,同时享受更高的代码提示与自动补全功能,极大提升开发效率。
这篇文章介绍了IntelliJ IDEA的全新结构工具窗口,通过“逻辑视图”功能帮助开发者更清晰地理解应用程序结构,特别是在Spring Boot等框架中,展示了组件间的关联,提高了代码导航效率和开发生产力。
如果你还不太了解MES系统或者信息追溯的概念,别急,我这就用简单易懂的语言为大家详细讲解。
本文将为大家深入介绍QtitanDocking组件,看看它是如何为Qt应用程序提供灵活窗口解决方案的,欢迎下载最新版组件体验!
Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@atlvshi.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢