Tôi đang tạo một bảng có tham chiếu khóa ngoài. Tôi đang tự hỏi về cú pháp cần thiết. Chủ yếu là tôi đã nhìn thấy những điều sau đây (từ http://www.sqlite.org/foreignkeys.html#fk_basics):Cú pháp SQLite để tạo bảng bằng khóa ngoài
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER,
FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);
Tuy nhiên, từ cùng một trang web (http://www.sqlite.org/foreignkeys.html#fk_actions) Tôi thấy điều này:
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE
);
Cú pháp thứ hai là ngắn gọn hơn một chút, nhưng tôi muốn biết nếu kết quả bằng cách nào đó khác nhau (ngoài ON UPDATE CASCADE
, điều này tất nhiên có hiệu lực; tôi chỉ đưa nó vào vì tôi đã sao chép mã chính xác từ trang web được tham chiếu và vì tôi không biết cú pháp trên không ' t chỉ áp dụng khi thực hiện một đặc điểm kỹ thuật như vậy). Tôi đang làm việc trong Android, trong trường hợp có vấn đề.
Xin chào War_Hero, tôi nhận được khóa ngoại là null. Bạn có thể xem xét nó. Đây là 2 bảng của tôi Bảng 1 - chuỗi cuối cùng DATABASE_CREATE_TABLE = "tạo bảng nếu không tồn tại scannerValuess (id số nguyên, partName văn bản null, văn bản chi phí null, khóa ngoại (id) tham chiếu scannerUserValuess (userid)) "; Bảng 2 - chuỗi cuối cùng DATABASE_CREATE_TABLE_USER = "tạo bảng nếu không tồn tại scannerUserValuess (userid integer primary key autoincrement, tên văn bản không null, di động văn bản không null, địa chỉ văn bản không null, ngày văn bản không null)"; Xin hãy giúp tôi ASAP.Thanks Advance. – Naveen