这个问题是基于这样的回答 。
什么是下面这句话是什么意思?
最后,不要使用大小写混合的标识符。 尽一切小写,所以你不必说出来了。
这是否意味着我应该改变命令,例如CREATE TABLE,USER_ID和NOT NULL为小写? - 它不能因为这将是对常见的命名约定。
这个问题是基于这样的回答 。
什么是下面这句话是什么意思?
最后,不要使用大小写混合的标识符。 尽一切小写,所以你不必说出来了。
这是否意味着我应该改变命令,例如CREATE TABLE,USER_ID和NOT NULL为小写? - 它不能因为这将是对常见的命名约定。
不,我认为君子指使用全部小写标识,如表,列名等。 这应该对命令没有影响,如创建您使用表等。
渣
在PostgreSQL
,一个不带引号标识符被转换为小写:
CREATE TABLE "MYTABLE" (id INT NOT NULL);
CREATE TABLE "mytable" (id INT NOT NULL);
INSERT
INTO "MYTABLE"
VALUES (1);
INSERT
INTO "mytable"
VALUES (2);
SELECT *
FROM mytable;
---
2
SELECT *
FROM MYTABLE;
---
2
这两个查询将返回2
,因为它们对发出"mytable"
,而不是"MYTABLE"
。
要返回1
(即发出对查询"MYTABLE"
,而不是"mytable"
),你需要引用它:
SELECT *
FROM "MYTABLE";
---
1
CREATE TABLE
等不识别,他们是保留字。
你可以在你喜欢的任何情况下使用它们。
我不知道为什么,他说。 在SQL Server中,至少一个标识的情况没有关系。 也许它在其他DBMS系统?