INSERT
sætningen har ugyldig syntaks. Der er noget galt inde i for-løkken, du nævner.
Du bør inkludere for-løkken i spørgsmålet.
INDSÆT I "DUMMY1km" (data) VÆRDI ([[-3000 -3000 -3000 .....
En gyldig sætning kunne se sådan ud - forudsat at din kolonne er af typen integer[]
.
... som du også skal have med i spørgsmålet.
INSERT INTO "DUMMY1km"(data) VALUES ('{-3000, -3000}'::int[])
eller
INSERT INTO "DUMMY1km"(data) VALUES (ARRAY[-3000, -3000]) -- note the "ARRAY"
eller for et 2-dimensionelt array (ser lidt sådan ud i fejlmeddelelsen):
INSERT INTO "DUMMY1km"(data) VALUES ('{{-3000, -3000}, {-3000, -3000}}'::int[])
eller
INSERT INTO "DUMMY1km"(data) VALUES (ARRAY[[-3000, -3000],[-3000, -3000]])
Mere om input af matrixværdi i manualen.
Ergo:
matData[i] skal indeholde ARRAY[-3000, -3000]
eller en af de andre listede varianter af gyldig syntaks i stedet for [[-3000 -3000 -3000 ...
hvilket ikke er gyldigt for et heltalsarray.
Psychopg konverterer automatisk et PostgreSQL-array ind på en Python-liste . Når du bygger INSERT, skal du konvertere listen tilbage til et array. Jeg citerer herfra:
Python lists are converted into PostgreSQL ARRAYs: >>> cur.mogrify("SELECT %s;", ([10, 20, 30], )) 'SELECT ARRAY[10, 20, 30];'
Ansvarsfraskrivelse:Jeg er ekspert med PostgreSQL, ikke så meget med Python. For nogen, der kender Python bedre end mig, burde det være nemt at formatere strengen i overensstemmelse hermed. Jeg fandt ovenstående citat i en hurtig research på nettet.