数字数据类型的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 不是 javascript 或 php。它有不同的语法。
SQL 只有一个等号 (=
) 作为相等比较运算符。
阅读https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html了解详情。
MariaDB 的匹配文档页面是https://mariadb.com/kb/en/comparison-operators/。
【讨论】:
以上是关于数字数据类型的Mysql三等分问题的主要内容,如果未能解决你的问题,请参考以下文章