我已经研究了很多并且我理解使数据库表名称敏感,您必须设置变量lower_case_table_names = 0。我在 osX 上。我在 my.cnf 中做了这个改变。在那之后,如果我跑
select * from users
Run Code Online (Sandbox Code Playgroud)
我得到结果。如果我运行:
select * from Users
Run Code Online (Sandbox Code Playgroud)
我收到错误说表不存在。
但是,对于特定的数据库,区分大小写不受影响。我可以使用任何情况,我永远不会收到错误。为什么?我可以查看用于导入数据库的大 sql 文件,并尝试找出是否有忽略大小写敏感的特定指令 (?)。无论如何,为什么您认为区分大小写适用于所有数据库而不是我感兴趣的数据库?区分大小写的其中之一是 InnoDB。而不关心这一点的是 MyIsam。这可能是原因吗?在这种情况下有什么解决办法吗?
我有一张桌子和足球比赛。
桌上游戏:
id
team_home (varchar)
team_away (varchar)
team_home_goals INT
team_away_goals INT
Run Code Online (Sandbox Code Playgroud)
要插入,我这样做:
insert into games values(null, 'Liverpool', 'Chelsea', 0, 0);
insert into games values(null, 'Arsenal', 'City', 1, 2);
insert into games values(null, 'ManUTD', 'Tottenham', 2, 1);
insert into games values(null, 'Chelsea', 'Arsenal', 0, 0);
insert into games values(null, 'Tottenham', 'Liverpool', 1, 0);
insert into games values(null, 'City', 'ManUTD', 2, 1);
Run Code Online (Sandbox Code Playgroud)
我需要创建一个查询以获取具有位置的表。根据上面的插入,表格将是:
1 - City 6 points
2 - ManUTD 3 points
3 - Tottenham 3 points
4 - Chelsea 2 …
Run Code Online (Sandbox Code Playgroud)