将 NULL 插入具有默认值的 NOT NULL 列

2023-11-23

对于一些背景知识,我们使用Zend 框架 2 and Doctrine在上班。教义总是会插入NULL对于我们自己不填充的价值观。通常这是可以的,因为如果该字段有默认值,那么它应该使用该默认值填充该字段。

对于我们正在运行的服务器之一MySQL 5.6.16如下所示的查询可以正常运行和执行。虽然NULL当被插入到一个不可为空的字段中时,MySQL 会在插入时用其默认值填充该字段。

在我们另一台运行的服务器上MySQL 5.6.20,我们运行下面的查询,它失败了,因为它抱怨“field_with_default_value”不能为空。

INSERT INTO table_name(id, field, field_with_default_value) 
VALUES(id_value, field_value, NULL);

Doctrine 本身不支持将“DEFAULT”传递到它构建的查询中,因此这不是一个选项。我认为这一定是某种 MySQL 服务器的东西,看起来好像它在一个版本中工作正常,但在另一个版本中不行,但不幸的是我不知道这可能是什么。我们的 SQL 模式在两台服务器上也是相同的('NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION').

我可能应该提到,如果我实际上在 Workbench 中运行上述 SQL,它仍然不能以相同的方式工作。所以这并不是真正的 Doctrine 问题,而绝对是某种 MySQL 问题。

对此的任何帮助将不胜感激。


MySQL升级后我遇到了同样的问题。事实证明,有一个设置允许对 NOT NULL 时间戳字段进行 NULL 插入并获取默认值。

explicit_defaults_for_timestamp=0

这记录在https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_explicit_defaults_for_timestamp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 NULL 插入具有默认值的 NOT NULL 列 的相关文章

  • MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。添加了 11 条消息列表。使用emitter.setMaxListeners()来增加限制

    我知道这可能会标记为重复的解决方案 但堆栈溢出的解决方案对我不起作用 Problem node 5716 MaxListenersExceededWarning Possible EventEmitter memory leak detec
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • MYSQL - 使用逗号分隔字符串作为变量输入的存储过程

    我希望有人能够提供帮助 我已经创建了我的第一个存储过程 没什么花哨的 但是我遇到了问题 我想给它一个字符串输入 例如 1 2 3 4 5 然后它执行一个简单的操作SELECT FROM TABLE WHERE EAN IN VAR 所以存储
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 交换关联数组中的两个项目

    Example arr array apple gt sweet grapefruit gt bitter pear gt tasty banana gt yellow 我想调换一下柚子和梨的位置 这样数组就变成了 arr array ap
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B

随机推荐

  • 为 RESTful(超媒体)API 编写客户端

    这几天我一直在阅读 真正的 RESTful API 并且我think我快要明白它的意思了 但我偶然发现的一件事是 我什至无法想象如何为 真正的 超媒体 API 编写客户端 我读过的大多数例子都谈论浏览器和蜘蛛 但这并不是特别有帮助 一个是人
  • 将 checkstyle/google_checks.xml 与 maven-checkstyle-plugin 一起使用时出错

    我正在尝试使用检查样式 google checks xml with maven checkstyle 插件 如果我将 google checks xml 与最新的 checkstyle intelliJ 插件一起使用 一切都是正确的 但是
  • 如何正确地将 numpy 数组传递给 Cython 函数?

    这在很多地方都有描述 但我根本无法让它发挥作用 我正在从 Cython 调用 C 函数 cimport numpy as np cdef extern from test h namespace mytest void test doubl
  • 自定义wpf中切换按钮的切换状态

    我想自定义 wpf 中切换按钮的切换状态 我想在切换按钮打开时将图像设置为切换按钮 并在关闭时设置另一个图像 为此 我想到使用触发器 这就是我最终所做的
  • NSDataDetector 检测“电话号码”文本

    我解释这个问题的最简单方法是使用代码示例及其输出 但本质上发生的是NSDataDetector正在检测包含单词 phone number 的字符串中的电话号码 NSError error nil NSDataDetector dataDet
  • 使用 tweepy 从 twitter 流 api 中排除转发

    使用Python时tweepy从 Twitter 的流 API 中提取推文的库是否可以排除转发 例如 如果我只想要特定用户 ex 发布的推文 twitterStream filter follow 20264932 但这会返回转发 我想排除
  • 如何为运行时依赖添加Import-Package指令?

    我正在使用 Gradle 构建 OSGi jar 但在清单方面遇到了一些问题 这是我的构建脚本的摘录 apply plugin java apply plugin osgi jar baseName awesome manifest nam
  • 臃肿的 EXE 大小以及与 Qt/MingW 的不必要的依赖关系

    我试图弄清楚如何缩小在最新的 QT SDK 4 8 2 基于 mingw g 下编译的 EXE 文件的大小 我当时正在开发一个普通的 C 控制台应用程序 它有一个简单的循环 并且只有 includes iostream 当我注意到它生成的
  • NLog 使用 NLog.config 动态更改文件名

    如何使用 C 中的变量动态更改文件名 我的想法是创建一个日志文件 例如Log
  • Dataframe Apply 方法返回多个元素(系列)

    import pandas as pd 假设我有一个dataframe像这样 df pd DataFrame a range 4 b range 1 5 它看起来像这样 a b 0 0 1 1 1 2 2 2 3 3 3 4 以及一个将 X
  • 如何让 bc(1) 打印前导零?

    我在 Makefile 中执行类似以下操作 echo 0 1 0 1 bc 当然 在真实文件中 数字是动态的 它打印 2但我想打印它0 2 我想这样做而不诉诸于sed但我似乎找不到如何获得bc打印零 或者是bc只是无法做到这一点 您还可以使
  • 如何通过TCL分割字符串并存储在列表中

    有没有办法分割字符串并保存在列表中 如何拆分字符串并保存在两个列表中 例如 我有一个字符串 我用它分割了几个字符串 a 1 b 2 c 3 d 4 然后我想创建两个这样的列表 a b c d and 1 2 3 4 以下是简单的tcl代码
  • 比较图像以找出差异

    任务 我在装配线的末端安装了一个摄像头 捕获生产物品的图像 举例来说 我们 制作门票 上面有一些文字和图片 所以每 生成的票据被拍照并作为图像保存到磁盘 现在我 想要检查这些保存的图像是否存在异常 即比较 将它们转换为图像 模板 这可以 所
  • 在Matlab中使像素透明

    我已经在 matlab 中导入了图像 在显示它之前如何使图像的背景透明 例如 我在白色背景上有一个红色球 如何使图像的白色像素透明 以便只有红色球可见 白色像素透明 您需要确保图像以 png 格式保存 然后您可以使用 阿尔法 参数png 文
  • Kotlin 多平台:访问代码中的构建变量

    我正在开发一个 Kotlin 多平台项目 该项目是一个为 iOS 和 Android 应用程序提供功能的 SDK In our build gradle kts我们希望在 iOS 和 Android 之间的公共代码共享代码中访问几个变量 作
  • bash:rsync,选项作为变量

    我正在编写 bash 脚本 该脚本在某些部分将通过 ssh 同步文件 不幸的是 我面临着将 rsync 选项保持为变量的问题 请看下面 variables directory etc backupDirectory backup incre
  • 即使我没有对项目进行任何更改,为什么我的数据库项目的 .dbmdl 文件也会发生变化?

    我遇到了一个小而奇怪的烦恼 似乎也发生在其他人身上 例如 查看SEDE的修订历史 我在 Visual Studio 2010 中有一个可以正常工作的 SQL Server 2008 数据库项目 当我提交 签入源代码管理时 我被告知我的数据库
  • Symfony2:自定义错误页面扩展base.html.twig

    我正在尝试自定义 Symfony 中的错误页面 这是我的error html twig文件位于app Resources TwigBundle views Exception extends base html twig block bod
  • Google GCM 服务器返回未经授权的错误 401

    我正在使用 GCM 服务从服务器推送信息 如果我使用浏览器键 它会显示成功消息 multicast id 4849013215736515938 成功 1 失败 0 canonical ids 0 结果 message id 0 13487
  • 将 NULL 插入具有默认值的 NOT NULL 列

    对于一些背景知识 我们使用Zend 框架 2 and Doctrine在上班 教义总是会插入NULL对于我们自己不填充的价值观 通常这是可以的 因为如果该字段有默认值 那么它应该使用该默认值填充该字段 对于我们正在运行的服务器之一MySQL