হারম্যানের সমাধানটি আমার পক্ষে কাজ ...
করেছিল , তবে আমাকে কিছুটা মিশিয়ে দিয়েছে। আমি তার উত্তরের উপর ভিত্তি করে কাজ করেছি ডেমো আমি অন্তর্ভুক্ত করছি। আমার উত্তরের অতিরিক্ত বৈশিষ্ট্যগুলির মধ্যে রয়েছে বিদেশী কী সমর্থন, অটো ইনক্রিমেন্টিং কী এবং এর ব্যবহারlast_insert_rowid()
লেনদেনে শেষ অটো উত্পন্ন কীটি পেতে ফাংশনের ।
এই তথ্যের জন্য আমার প্রয়োজনীয়তা এলো যখন আমি একটি লেনদেনের জন্য আঘাত করি যার জন্য তিনটি বিদেশী কী প্রয়োজন তবে আমি কেবল শেষটিটিই পেতে পারি last_insert_rowid()
।
PRAGMA foreign_keys = ON;
PRAGMA temp_store = 2;
CREATE TABLE Foo(
Thing1 INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL
);
CREATE TABLE Bar(
Thing2 INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
FOREIGN KEY(Thing2) REFERENCES Foo(Thing1)
);
BEGIN TRANSACTION;
CREATE TEMP TABLE _Variables(Key TEXT, Value INTEGER);
INSERT INTO Foo(Thing1)
VALUES(2);
INSERT INTO _Variables(Key, Value)
VALUES('FooThing', last_insert_rowid());
INSERT INTO Bar(Thing2)
VALUES((SELECT Value FROM _Variables WHERE Key = 'FooThing'));
DROP TABLE _Variables;
END TRANSACTION;