PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Masalah untuk penyisipan menggunakan psycopg

INSERT pernyataan memiliki sintaks yang tidak valid. Ada yang salah di dalam perulangan for yang Anda sebutkan.
Anda harus menyertakan perulangan for dalam pertanyaan.

MASUKKAN KE "DUMMY1km" (data) NILAI ([[-3000 -3000 -3000 .....

Pernyataan yang valid dapat terlihat seperti ini - dengan asumsi kolom Anda bertipe integer[] .
... yang juga harus Anda sertakan dalam pertanyaan.

INSERT INTO "DUMMY1km"(data) VALUES ('{-3000, -3000}'::int[])

atau

INSERT INTO "DUMMY1km"(data) VALUES (ARRAY[-3000, -3000])  -- note the "ARRAY"

atau untuk larik 2 dimensi (terlihat sedikit seperti itu di pesan kesalahan.):

INSERT INTO "DUMMY1km"(data) VALUES ('{{-3000, -3000}, {-3000, -3000}}'::int[])

atau

INSERT INTO "DUMMY1km"(data) VALUES (ARRAY[[-3000, -3000],[-3000, -3000]])

Lebih lanjut tentang input nilai array di manual.

Ergo:

matData[i] harus berisi ARRAY[-3000, -3000] atau salah satu varian sintaks valid lainnya yang terdaftar sebagai ganti [[-3000 -3000 -3000 ... yang tidak valid untuk array integer.

Psychopg secara otomatis mengonversi array PostgreSQL ke dalam daftar Python . Saat membangun INSERT, Anda perlu mengonversi daftar kembali ke array. Saya kutip dari sini:

Python lists are converted into PostgreSQL ARRAYs:

>>> cur.mogrify("SELECT %s;", ([10, 20, 30], ))
'SELECT ARRAY[10, 20, 30];'

Penafian:Saya ahli dengan PostgreSQL, tidak begitu banyak dengan Python. Untuk seseorang yang tahu Python lebih baik dari saya, seharusnya mudah untuk memformat string yang sesuai. Saya menemukan kutipan di atas dalam riset singkat di web.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transaksi Otonom di PostgreSQL 9.1

  2. Cara Mengubah Pengguna menjadi Pengguna Super di PostgreSQL

  3. Bagaimana cara memiliki fungsionalitas offline lengkap di aplikasi web dengan database PostgreSQL?

  4. Ubah bahasa sistem dan pesan kesalahan di PostgreSQL

  5. Agregat kolom dengan filter tambahan (berbeda)