CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY,
description TEXT,
reference TEXT
-- This is where you'd want to add your list of order lines
);
-- Instead, we'll create an orderline table referring back to the orders
CREATE TABLE orderlines (
id INT NOT NULL PRIMARY KEY,
description TEXT,
order_id INT REFERENCES orders(id)
);
现在,您可以将数组值(我现在假设它们是订单行)放在它们自己的单独表中。
SELECT * FROM orders
LEFT JOIN orderlines ON orderlines.order_id = orders.id;
1条答案
按热度按时间hmae6n7t1#
正如在注解中提到的,数组不是一种类型。你可以选择用一个单独的表来保存数组中的元素,并让它们有一个指向原始表的外键,或者每次都把数组解析成一个字符串,并把它存储为文本,这取决于你的需要。
现在,您可以将数组值(我现在假设它们是订单行)放在它们自己的单独表中。
您可以使用子查询来返回数组,使其变得足够智能,尤其是在应用程序中。