postgresql - 在单个列中创建包含多个单词的表

标签 postgresql

我可以创建一个只有一个列名的表,例如:

CREATE TABLE testTable 
(
    Name text,
    Age int
)

如何创建包含多个单词的单列?例如:

CREATE TABLE testTable 
(
    Person Name text,
    Person Age int
)

当我使用它时,它给我错误。无法在任何地方找到解决方案。

最佳答案

可以引用 (") 这些名称来强制数据库执行此操作。在实践中,这非常烦人且效率低下,如一些评论所述. 如果您这样做,那么每次您需要引用此列时,您将不得不

  • 用双引号引用
  • 完全匹配它的大小写

所以这样:

SELECT testTable."person name" FROM testTable

会抛出错误,因为我没有将 pn 大写。

这将导致您在每次引用名称时都浪费大量时间来查找名称的确切格式。

更常见和更简单的解决方案是简单地使用下划线:

CREATE TABLE test_table (
    person_name text,
    person_age int
)

我,我相信我们这个行业的很多人通常会将包含空格(或任何其他需要我引用该名称的字符)的名称视为缺乏经验或缺乏知识的标志。

关于postgresql - 在单个列中创建包含多个单词的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506606/

相关文章:

mysql - 如何从两个表中获取数据

Postgresql IN 错误 : operator does not exist integer = integer[]

sql - 确保产品至少有一个类别

android - Android 的 JDBC 与 Web 服务

Python psycopg2 - 记录事件

sql-server - 使用 "WHERE A=1 OR A=2 clause"SELECT 查询糟糕的执行计划

java - 如何使用 Postgres 数据库在 Java 中获得异步/事件驱动的 LISTEN/NOTIFY 支持?

arrays - PostgreSQL:使用某种排序条件对元素数组进行排序

php - 在 PL/pgSQL 中检索 INSERT 的返回行

function - 需要有关 Postgres 触发器和功能的帮助