SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

Ketidakcocokan tipe data (kode 20) saat memasukkan

Saya pikir masalah Anda adalah dengan urutan kolom dan yang paling penting adalah pembatasan alias untuk kolom rowid, dalam kasus Anda Id kolom (Id INTEGER PRIMARY KEY AUTOINCREMENT mendefinisikan Id sebagai alias kolom rowid ).

  • Perhatikan kolom lain dapat menyimpan nilai apa pun sesuai :-
    • Setiap kolom dalam database SQLite versi 3, kecuali kolom INTEGER PRIMARYKEY, dapat digunakan untuk menyimpan nilai kelas penyimpanan apa pun.

    • Tipe Data Dalam SQLite Versi 3

Kolom seperti itu hanya dapat menyimpan nilai integer. String sql = "INSERT INTO PHOTO VALUES(NULL,?,?,?,?)"; sama dengan memasukkan nilai sesuai :-

  • NULL ke dalam nama kolom
  • nama, seperti yang diteruskan, ke dalam lat kolom
  • lat, saat diteruskan, ke lon kolom
  • lon, saat diteruskan, ke dalam gambar kolom
  • gambar, seperti yang diteruskan, ke dalam kolom Id (sampai jumpa[] tidak dapat disimpan di kolom Id)

Anda dapat memperbaikinya dengan memberikan nama kolom atau dengan mengurutkan ulang kolom agar sesuai dengan urutan pendefinisiannya (yang pertama bisa dibilang merupakan praktik yang lebih baik).

Karena itu, salah satu dari berikut ini akan memperbaiki masalah :-

String sql = "INSERT INTO PHOTO (Id, name, lat, lon, image) VALUES(NULL,?,?,?,?)";

atau :-

String sql = "INSERT INTO PHOTO VALUES(?,?,?,?,NULL)";



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. saya punya aplikasi android yang mengambil data dari sqlite dan menampilkan data di BaseAdapter .. apa cara terbaik ??

  2. 6 Cara Menghapus Baris Duplikat yang memiliki Kunci Utama di SQLite

  3. Cara menginstal SQLite di macOS

  4. Bagaimana cara mengimplementasikan database SQLite untuk menyimpan Gambar dan Teks Bitmap?

  5. Android :Cara memuat gambar secara dinamis dari server dengan namanya dari SQLite