回答

收藏

MySql-不同服务器中表的区分大小写问题

技术问答 技术问答 249 人阅读 | 0 人回复 | 2023-09-14

我在unix / windows / unix的三台不同服务器中工作。
7 @/ i, s' t2 \, U  Tcase-1:在我的unix本地服务器中,我有一个表名Country_master及其字段pk_CountryId,CountryName等。
$ N4 J$ T4 r$ P. y3 ]case-2:在我的演示服务器中,它的窗口表名称自动更改为country_master。4 X1 U, D9 a7 K$ ~
case-3:在我的Live服务器中,该服务器是UNIX表名country_master。; g: T: j+ O( y7 u
但是在我的代码表名称中,我使用的是Country_master,所以它给了我这样的错误
: Q8 G/ R) z6 B2 Z; [! GFatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'markets.Country_master' doesn't exist'.* o& |9 X- a! |* j) Q
我可以有什么办法不更改数据库以及代码中的表名,但是要用小写字母吗?; a6 X: j. W6 B" X5 D
                & c* n* G: |* ^6 g! G$ ?$ g
解决方案:
3 J/ T/ Y1 e% E( D( z               
: T- g/ P. Z( x3 V! O3 ?
: U$ X* ?, U$ V! F
7 r1 p; A. N2 P, L% `. c                如果使用的是MySQL,则可以使用以下指令在my.conf中设置表名和列名区分大小写
$ r3 z3 [# a% q1 k# m: xset-variable = lower_case_table_names=1: A& L7 v: B- s: t
更新后不要忘记重启服务器。如果在所有服务器中使用相同的列名,那会更好
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则