Mysql 5.5.54 多列的唯一键重复条目

标签 mysql yii

我们在生产中有表(在本地我尝试做同样的事情,一切都按预期工作,也许我有更新的数据库版本)。

表包含许多列,其中两列是数字和年份。这些列与唯一的约束键绑定(bind)。

当我进行查询时,例如

SELECT * FROM `order` WHERE number IS NULL  AND YEAR = 2018

我得到了不止一行。这并不重要,这是正确的。 [我可以有 100 行为 null,例如 2018 年] 但是当我尝试插入 number = null 和 Year = 2018 的新记录时。我收到错误,例如

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '2018' for key 'number_year_UNIQUE'

要记住的一件事是,mysql 中的 null 隐藏地与随机数绑定(bind),当我尝试插入它时,它会以某种方式成为新记录的重复项。

额外信息是:我们使用 Yii1 并通过 ActiveRecord 出现错误。

编辑

建议添加分析后绑定(bind)参数

如下

:yp13='2018', 
:yp14='', 

本地计算机上的参数完全相同。

编辑

enter image description here

enter image description here

enter image description here

最佳答案

您是否尝试从 sql 控制台(PhpMyAdmin 或类似控制台)运行插入查询?

我怀疑这是 php 方面的问题,就像传递 null 值的方式一样。

关于Mysql 5.5.54 多列的唯一键重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48583143/

相关文章:

mysql - 在sql嵌套查询中比较同一个表

php - Yii 1.1.x 中的 Paypal 自适应支付 SDK 集成

phpunit 在 Yii2 中找不到应用类

php - 如何选择和获取yii的Cgridvew的行id

php - 属性 "CWebUser.bootstrap"未定义

MySQL检查文本日期是否在两个日期之间

mysql - 检索日期为 X 天前的 MySQL 记录

c++ - 如何在 Qt 中的 QTableView 中显示一个简单的 QMap?

mysql - MySQL 中的嵌套查询非常慢。如何优化呢?

php - 尝试登录时 Yii2 中的错误请求 (#400)