在将多维数组插入到PostgreSQL时,是否有任何技巧?我想要插入类似的内容。
或者更详细地说:
也许有解决方案吗?
INSERT INTO Timesheet (day, startTime, endTime, idSchedule)
VALUES(unnest(array['TUE', 'FRI']),
unnest(array[['10:00', '02:00'], ['10:00']]),
unnest(array[['14:00', '23:00'], ['14:00']]), 1);
或者更详细地说:
INSERT INTO Timesheet (day, startTime, endTime, idSchedule)
VALUES('TUE', '10:00', '14:00', 1),
('TUE', '02:00', '23:00', 1),
('FRI', '10:00', '14:00', 1);
查询失败,原因为
ERROR: multidimensional arrays must have array expressions with matching dimensions
也许有解决方案吗?
starttime
是什么数据类型?你真的要在那个列中存储一个数组吗?你是想插入两行吗?一行是星期二,一行是星期五?为什么不能使用values ('TUE, array[...], '10:00', 1), ('FRI', array[...], '14:00', 1)
? - user330315array[['10:00', '02:00'], ['10:00']
是一个无效的数组,因为第一个元素是二维数组,而第二个元素是一维数组,如果您想保留这种奇怪的方法,那么您将不得不将其更改为array[['10:00', '02:00'], ['10:00', '10:00']]
。 - user330315VALUES ('TUE', '10:00', '10:00', 1), ('TUE', '02:00', '10:00', 1), ('FRI', '14:00', '14:00', 1)
我真的不明白你想要实现什么。 - user330315