数字数据类型的Mysql三等分问题

Posted

技术标签:

【中文标题】数字数据类型的Mysql三等分问题【英文标题】:Mysql triple equal problem for number data type 【发布时间】:2021-10-18 03:51:33 【问题描述】:

我有一个 student_details 表。其中 Roll 是主键,共有 8 个学生列表(101 到 108)。现在我要测试下面的SQL命令


    SELECT * FROM student_details
    WHERE Roll === 105 AND Roll === 107;

但我遇到了这个错误

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解要使用的正确语法 在第 2 行的 '== 105 AND Roll === 107 LIMIT 0, 25' 附近

这里的卷号 105 和 107 都是数字数据类型。为什么我会遇到这个错误?

【问题讨论】:

通过阅读 MariaDB 错误并检查manual on operators,您将看到没有三等、双等甚至四等。一个就足够了。 Roll 不能同时是 105 AND 107。你的意思是OR 【参考方案1】:

mysql 没有=== 运算符。它也没有== 运算符。

SQL 不是 javascriptphp。它有不同的语法。

SQL 只有一个等号 (=) 作为相等比较运算符。

阅读https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html了解详情。

MariaDB 的匹配文档页面是https://mariadb.com/kb/en/comparison-operators/。

【讨论】:

以上是关于数字数据类型的Mysql三等分问题的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据类型 - 数字类型 - 数字类型语法

MySQL的数据类型

数字类型内置方法

华为字节二面原题--三等分

如何将 mysql 数字类型数据从 php 传递到 Javascript 以作为字符串类型到达? [关闭]

mysql能设置数据类型长度吗