gpt4 book ai didi

MySQL 不匹配以数字结尾的 varchar 键

转载 作者:行者123 更新时间:2023-11-29 00:53:52 25 4
gpt4 key购买 nike

我已经定义了一个表

CREATE TABLE `mytable` (
`identifier` varchar(45) NOT NULL,
`f1` char(1) NOT NULL,
KEY `identifier` (`identifier`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

然后添加主键和索引作为

ALTER TABLE `mytable` ADD PRIMARY KEY ( `identifier` ) 
ALTER TABLE `mytable` ADD INDEX ( `identifier` )

在标识符字段中,我的表中填充了类似(大约 800,000 条记录)的值

USER01-TESTXXY-CAD-10172
USER01-TESTXXY-CAD-1020
USER01-TESTXXY-CAD-10245
USER02-TEST-003-SUBA
USER02-TEST-002-SUBB

我发现标识符以数字结尾的查询不匹配:

SELECT *
FROM identifier
WHERE identifier = 'USER01-TESTXXY-CAD-10245';

但匹配以字母结尾的标识符的查询匹配成功

SELECT *
FROM identifier
WHERE identifier = 'USER02-TEST-003-SUBA';

我的查询是准确的,我不需要与 LIKE 进行比较,因为我的用户向我提供了准确的字符串。除了 varchar(45) 之外,我的标识符还有足够的空间。我做错了什么?可能是什么原因或解决方案?

最佳答案

我认为您在两个查询中都打错了字。您的表名应该是 mytable 而不是标识符。

SELECT *
FROM mytable
WHERE identifier = 'USER01-TESTXXY-CAD-10245';

这是一个错字吗?您的数据库中是否还有另一个表称为标识符?

关于MySQL 不匹配以数字结尾的 varchar 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084307/

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