Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

SQLite trong Android:Các phím ngoại và dự kiến

Vấn đề của bạn là bạn đã trộn column_constraint cú pháp với table_constraint cú pháp ( tức là viết mã cái sau, nơi cái trước nên được sử dụng ).

Bạn có thể khắc phục sự cố bằng cách sử dụng

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");

Như được giải thích bên dưới cũng như cú pháp thay thế.

Đó là cú pháp ràng buộc cột bắt đầu bằng REFERENCES .... và là một phần của định nghĩa cột (nghĩa là tên cột là ẩn), trong khi cú pháp table_constraint bắt đầu bằng FORIEGN KEY(column_name) REFERENCES ... và tuân theo các định nghĩa cột

Vì vậy, bạn có thể có một trong hai:-

Cú pháp Column_constraint

  • Là một phần của định nghĩa cột

  • category INTEGER NOT NULL REFERENCES categories (id)

ví dụ:

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)

hoặc

Cú pháp table_constraint

  • sau khi cột đã được xác định, nhưng vẫn nằm trong định nghĩa cột, tức là vẫn nằm trong dấu ngoặc.

  • FOREIGN KEY (category) REFERENCES categories (id)

ví dụ:

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));

Bạn có thể tìm thấy cột-ràng buộc bảng ràng buộc sử dụng.

ngày có thể là một tên cột. Tuy nhiên, tôi khuyên bạn nên không sử dụng bất kỳ từ khóa SQLite nào, chẳng hạn như ngày tháng, làm tên cột.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo Sổ cái / Tài khoản T bằng PHP Mysql

  2. MySQL:% viết tắt của cột máy chủ lưu trữ là gì và cách thay đổi mật khẩu của người dùng

  3. Nhiều đến nhiều bên trong Nhiều đến nhiều bàn

  4. Cảnh báo:mysql_fetch_array ():đối số được cung cấp không phải là tài nguyên kết quả MySQL hợp lệ

  5. MySQL Workbench Alternatives - ClusterControl Database User Management