gpt4 book ai didi

php - MySQL BETWEEN 查询从数据库中的文本字段获取数据

转载 作者:行者123 更新时间:2023-11-29 13:44:38 26 4
gpt4 key购买 nike

我有一个疑问:

$sql = "SELECT * FROM table WHERE  CONCAT(Prod, Serial) BETWEEN '$start' AND '$end'";

其中 Prod 和 Serial 作为字符串存储在 MySQLi 数据库中。我需要更新 AA1000 和 AA1005 之间的项目详细信息。当我运行此查询时,它会更新 AA1000 和 AA1005 之间的单位详细信息,并且“作为奖励”,更新 AA10000 和 AA10050 之间的所有单位的详细信息。有没有办法使用 BETWEEN 查询获得文本类型字段的精确匹配?

谢谢!

附注我知道我需要更新查询来更新详细信息。我使用 SELECT 进行测试。

最佳答案

您正在以非常糟糕的方式滥用 BETWEEN 语法。您正在比较字符串,所以

'AA1000' <= 'AA10000' <= 'AA1005'

实际上是 TRUE,因为您不是在比较数字,而是在比较字符串。字符串比较以每个字符为基础,不考虑长度,因此

'A' <= 'AZ' <= 'B'

也是如此,尽管人们会认为“AZ”出现在“B”之后。

关于php - MySQL BETWEEN 查询从数据库中的文本字段获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17597610/

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