使用 PostgreSQL v9.1 时,如何使用 SQL 列出所有模式?
我期待着以下内容:
SELECT something FROM pg_blah;
Run Code Online (Sandbox Code Playgroud) 使用 PostgreSQL v9.1。我有以下表格:
CREATE TABLE foo
(
id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
type VARCHAR(60) NOT NULL UNIQUE
);
CREATE TABLE bar
(
id BIGSERIAL NOT NULL UNIQUE PRIMARY KEY,
description VARCHAR(40) NOT NULL UNIQUE,
foo_id BIGINT NOT NULL REFERENCES foo ON DELETE RESTRICT
);
Run Code Online (Sandbox Code Playgroud)
假设第一个表foo是这样填充的:
INSERT INTO foo (type) VALUES
( 'red' ),
( 'green' ),
( 'blue' );
Run Code Online (Sandbox Code Playgroud)
有没有办法bar通过引用foo表轻松插入行?或者我必须分两步完成,首先查找foo我想要的类型,然后在其中插入一个新行bar?
这是一个伪代码示例,显示了我希望可以完成的工作:
INSERT INTO bar (description, foo_id) VALUES
( …Run Code Online (Sandbox Code Playgroud) 我正在创建一个新的数据库表,用于存储产品图片。我想确定图片中代表的产品“类型”。假设我们有所有产品的 3 个一般类别:
我最好创建 3 个布尔列is_table、is_chair、 和is_lamp?
或者我最好创建一个枚举,然后为该枚举使用单个列:
CREATE TYPE product_type AS ENUM ('table', 'chair', 'lamp' );
Run Code Online (Sandbox Code Playgroud)
(请注意,对于我们存储的工程产品图片,可以保证产品/图片永远不会符合 2 种类型。它必须始终是 1 种非常具体的类型。)