我们可以在Postgres/ MySQL中创建两个(或更多)名称相同但大小写不同的列吗?例如,列名是否区分大小写?
例如,一个表是否可以包含两个名称分别为COL
和col
的列?
链接帖子:can we create two columns with same name in database?只讨论相同的名称,但不考虑大小写。
我们可以在Postgres/ MySQL中创建两个(或更多)名称相同但大小写不同的列吗?例如,列名是否区分大小写?
例如,一个表是否可以包含两个名称分别为COL
和col
的列?
链接帖子:can we create two columns with same name in database?只讨论相同的名称,但不考虑大小写。
2条答案
按热度按时间z31licg01#
我们可以在Postgres/ MySQL中创建两个(或更多)名称相同但大小写不同的列吗?例如,列名是否区分大小写?
不可能创建同名的列-是的,区分大小写很重要。
MySQL中的示例:
MySQL中的输出:
PostgreSQL中的输出:
SELECT语句:
输出:
区分大小写SELECT:
输出:
yqyhoc1h2#
在标准SQL中,带引号的标识符区分大小写,Postgres遵循该标准。
因此,如下所示:
或者作为表的一部分
这是两个不同的名称,因为它们由于使用了双引号而变得区分大小写。
但我强烈建议不要这么做,这很可能会造成混乱和问题。
我 * 认为 * 这也应该适用于MySQL,但由于它传统上不关心遵循SQL标准,我不知道。