Arrays 插入复合类型数组时出现错误postgresql 9.4--
我得到这个错误 错误:数组类型日期和日期[]无法匹配 什么是正确的insert语句?这对我很有用:Arrays 插入复合类型数组时出现错误postgresql 9.4--,arrays,database,postgresql,postgresql-9.4,Arrays,Database,Postgresql,Postgresql 9.4,我得到这个错误 错误:数组类型日期和日期[]无法匹配 什么是正确的insert语句?这对我很有用: CREATE TABLE people( name_ varchar(50) NOT NULL, count int NOT NULL DEFAULT 0 ) CREATE TABLE person_added( date_ date NOT NULL, all_people_ people[], all_people_count int NOT NULL ) CREATE TABLE
CREATE TABLE people(
name_ varchar(50) NOT NULL,
count int NOT NULL DEFAULT 0
)
CREATE TABLE person_added(
date_ date NOT NULL,
all_people_ people[],
all_people_count int NOT NULL
)
CREATE TABLE all_people_array_table(
id SERIAL,
people_array person_added[]
)
INSERT INTO all_people_array_table(people_array) (SELECT ARRAY[CURRENT_DATE, ARRAY[('Jack',3)::people, ('John',6)::people], 1000] )
如何将另一个people[]元素插入people_数组列中。如何在数组中使用相同的当前日期值填充此数组,如('Jack',3),('John',8),('Chris',5)等?
update all_people_array_table set people_array[1]。all_people_=array_append(people_array[1]。all_people_,('Chris',5)::people)其中id=1但是我不得不说,这不是一种真正的存储数据的关系方式。我建议您重新考虑您的数据库结构。很好,再次感谢:))我需要这样做不幸的是…但无论如何,感谢您的提示。最后一个问题:)…我如何根据个人中的日期在所有人列中选择人[]数组添加表类型(由当前日期添加)?
insert into all_people_array_table(people_array)
select array[
(current_date,
array[
('Jack',3)::people,
('John',6)::people
], 1)::person_added
];