gpt4 book ai didi

mysql - 选择匹配整数上字符串的起始数字

转载 作者:行者123 更新时间:2023-11-29 01:12:35 24 4
gpt4 key购买 nike

我有这张表:

CREATE TABLE `test` (
`ID` int(11) NOT NULL auto_increment,
`text` varchar(250) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

内容:

ID     text  1      70-and-some-text  70     blub

Then I make execute this query:

SELECT
*
FROM
test
WHERE
ID = '70-and-some-text'
OR
text = '70-and-some-text'

并得到这两行结果。似乎 MySQL 尝试将尽可能多的数字与 ID 匹配,然后停止。我想我在某个地方读到过,但再也找不到了。

非常感谢回答和提示。提前致谢。友善一点,我是新来的。告诉我,如果我做错了什么。我非常尊重你们。

史蒂芬

==================

感谢 Tomalak,我现在知道问题出在哪里了。有什么处理这个问题的最佳做法吗?我控制“文本”,所以我可以使用 PHP 获取“_70-and-some-text”或字符串。但是 MySQL 中的解决方案将是“最纯粹的”。

最佳答案

这一行

ID = '70-and-some-text'

使 MySQL 将右侧操作数转换为 INT,因为该列是 INT 类型。显然,转换的结果是数字 70。您可以将任何数据类型以字符串的形式传递到 MySQL 查询中,MySQL 会透明地进行必要的类型转换,就像在本例中一样。

关于mysql - 选择匹配整数上字符串的起始数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1685927/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com