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;
如評論中所提到的,陣列不是類型。您可以選擇使用一個單獨的表來保存數組中的元素,並讓它們有一個引用原始表的外鍵,或者每次將數組解析為字串並將其存儲為文本,具體取決於您的需要。
現在您可以將數組值(我現在假設為訂單行)放入它們自己的單獨表中。要查詢它們,你可以這樣做
您可以使用子查詢來足夠聰明地傳回一個數組,尤其是在您的應用程式中。