gpt4 book ai didi

php - Mysql 查询的大小写敏感问题

转载 作者:行者123 更新时间:2023-11-29 00:39:56 32 4
gpt4 key购买 nike

我使用的是旧版 PHP 框架,它会自动为我组装查询。由于某种原因,它正在组装这样的查询:

SELECT s.status,c.client FROM client C LEFT JOIN status S ON C.id_status=S.id_status'

这在我的 MacOS X 工作站上不是问题。但是当我在我的生产服务器上测试它时,mysql 引发了以下错误:

#1054 - Unknown column 's.status' in 'field list' 

这绝对是 s.status 上的一个案例问题。如果我手动运行将 s,c 更改为 S,C 的查询,它会完美运行。

快速浏览一下 google 并没有解决问题。有什么想法吗?

最佳答案

嗯,在 documentation 中说了:

By default, table aliases are case sensitive on Unix, but not so on Windows or Mac OS X. The following statement would not work on Unix, because it refers to the alias both as a and as A:

mysql> SELECT col_name FROM tbl_name AS a
-> WHERE a.col_name = 1 OR A.col_name = 2;

文档的这一部分也给出了一些解决方案。例如,您可以在所有平台上将 lower_case_table_names 设置为 1 以强制将名称转换为小写 - 但在这种情况下,您还必须将所有表重命名为小写.

关于php - Mysql 查询的大小写敏感问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717611/

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