gpt4 book ai didi

mysql - 使用 MySQL MATCH 混合不区分大小写的列类型

转载 作者:可可西里 更新时间:2023-11-01 08:38:25 25 4
gpt4 key购买 nike

我正在使用 MATCH 条件来匹配一个 int 字段和一个 varchar 字段。根据http://bugs.mysql.com/bug.php?id=22343当混合二进制和非二进制列类型时,匹配变为二进制,因此区分大小写。

我的问题是如何使搜索不区分大小写?我尝试使用 MATCH (lower(a),b) AGAINST ('title') 但这不起作用。

这是一个可以用作测试的模式。

CREATE TABLE IF NOT EXISTS `foo` (
`a` int(11) NOT NULL,
`b` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO `foo` (`a`, `b`) VALUES
(2345345, 'title and volume'),
(145344, 'Volume'),
(1234214, 'Title');

SELECT * FROM `foo` WHERE MATCH (a,b) AGAINST ('title' IN BOOLEAN MODE)

最佳答案

我猜你必须这样做:

SELECT *
FROM `foo`
WHERE MATCH(`a`) AGAINST ('title' IN BOOLEAN MODE)
OR MATCH(`b`) AGAINST ('title' IN BOOLEAN MODE)

关于mysql - 使用 MySQL MATCH 混合不区分大小写的列类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1252750/

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