如何使用 phpMyAdmin 或 sql 添加类型为数组的列

how do I add a column with type array using phpMyAdmin or sql

如何使用 phpMyAdmin 添加类型为数组的列 知道 alter table name add column listid 整数数组; alter table name add column listid integer []; 不工作

如评论中所述,数组不是类型。您可以选择有一个单独的 table 来保留数组中的元素,并让它们有一个引用原始 table 的外键,或者每次都将数组解析为一个字符串并存储它作为文本,取决于您的需要。

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)
);

现在您可以将数组值(我现在假设是订单行)放在它们自己单独的 table 中。要查询它们,你可以这样做

SELECT * FROM orders
LEFT JOIN orderlines ON orderlines.order_id = orders.id;

使用 sub-queries 到 return 数组,您可能会变得足够聪明,尤其是在您的应用程序中。