Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQLite di Android:Kunci Asing dan diharapkan

Masalah Anda adalah Anda telah mencampuradukkan column_constraint sintaks dengan table_constraint sintaks (yaitu mengkodekan yang terakhir di mana yang pertama harus digunakan ).

Anda dapat memperbaiki masalah ini dengan menggunakan

db.execSQL("CREATE TABLE " + QUEST_TABLE_NAME + "(id INTEGER primary key autoincrement NOT NULL, name TEXT, description TEXT, expValue INTEGER, category INTEGER NOT NULL REFERENCES categories (id), date TEXT");

Seperti yang dijelaskan di bawah ini seperti sintaks alternatif.

Yaitu sintaks batasan kolom dimulai dengan REFERENCES .... dan merupakan bagian dari definisi kolom (yaitu nama kolom tersirat), sedangkan sintaks table_constraint dimulai dengan FORIEGN KEY(column_name) REFERENCES ... dan mengikuti definisi kolom

Jadi Anda bisa memiliki keduanya :-

Sintaks kendala_kolom

  • Sebagai bagian dari definisi kolom

  • category INTEGER NOT NULL REFERENCES categories (id)

misalnya

CREATE TABLE yourtablename (id INTEGER primary key autoincrement NOT NULL, name TEXT, description TEXT, expValue INTEGER, category INTEGER NOT NULL REFERENCES categories (id), date TEXT)

atau

Sintaks batasan_tabel

  • setelah kolom telah ditentukan, tetapi masih dalam definisi kolom yaitu masih di dalam tanda kurung.

  • FOREIGN KEY (category) REFERENCES categories (id)

misalnya

CREATE TABLE yourtablename (id INTEGER primary key autoincrement NOT NULL, name TEXT, description TEXT, expValue INTEGER, category INTEGER NOT NULL, date TEXT, FOREIGN KEY (category) REFERENCES categories (id));

Anda mungkin menemukan column-constraint dan table-constraint penggunaan.

tanggal dapat berupa nama kolom. Namun, saya menyarankan agar tidak menggunakan kata kunci SQLite apa pun, seperti tanggal, sebagai nama kolom.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. batas subquery mySQL

  2. MySQL menghapus baris dari beberapa tabel

  3. Bagaimana menjalankan skrip php secara otomatis setiap hari?

  4. Rails:Paksa string kosong ke NULL di database

  5. Cara memilih nilai dari JSON di mysql