mysql - 错误代码 : 1267 Illegal mix of collations (utf8_general_ci, IMPLICIT) 和 (latin1_swedish_ci,NUMERIC) 用于简单选择查询上的操作 '=' 错误

标签 mysql

我得到了

#1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (latin1_swedish_ci,NUMERIC) for operation '='

以下查询出现此错误

SELECT * FROM 
sm_product_inventories_list 
WHERE  inventory_date =  CURDATE() 
AND  inventory_time =  CURTIME()

我试图通过

更改表格的排序规则
ALTER TABLE sm_product_inventories_list CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci

我仍然收到错误。 inventory_date 的类型是 date,inventory_time 是 varchar

提前致谢。

最佳答案

一个快速的解决方案是在比较之前添加“二进制”,如下所示,

WHERE binary inventory_date = binary CURDATE() AND binary inventory_time = binary CURTIME()

关于mysql - 错误代码 : 1267 Illegal mix of collations (utf8_general_ci, IMPLICIT) 和 (latin1_swedish_ci,NUMERIC) 用于简单选择查询上的操作 '=' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43368771/

相关文章:

java - 在线数据库连接不起作用

MYSQL 加速查询

php - ERD图设计问题

php - 在 PDO 中使用名为 "before"的列名

mysql - 在 MySQL 中获取日期的最后一秒

mysql - 在 PhpMyAdmin 中分析查询统计信息

Mysql 查找两个日期列之间开始和结束日期范围的出现次数

mysql - 发送 OneSignal 通知导致服务器崩溃

mysql - 如何构建数据库以获得良好的 crud 功能和最佳响应时间

MySQL:按数据有效分组为大小相同的桶