Как я могу получить доступ к последнему вставленному идентификатору строки в рамках сценария SQL?

При тестировании можно было отправить электронные письма в папку на компьютере вместо сервера SMTP. Поместите это в свой web.config:

<system.net>
    <mailSettings>
        <smtp deliveryMethod="SpecifiedPickupDirectory">
            <specifiedPickupDirectory pickupDirectoryLocation="c:\Temp\" />
        </smtp>
    </mailSettings>
</system.net>
10
задан Ed Marty 30 November 2009 в 20:14
поделиться

2 ответа

В решении, которое я придумал, использовалась функция last_insert_rowid от Бена С.

INSERT INTO property VALUES(NULL,.....);
INSERT INTO property VALUES(NULL,.....);

   INSERT INTO subproperty VALUES(1,.....,-1);
   INSERT INTO subproperty VALUES(2,.....,-1);
   INSERT INTO subproperty VALUES(3,.....,-1);
INSERT INTO property VALUES(NULL,.....);
UPDATE subproperty SET fkPropertyId = (SELECT last_insert_rowid()) WHERE fkPropertyId=-1;

INSERT INTO property VALUES(NULL,.....);

Не уверен, что это лучший подход, но он работает для меня, и он не использует никаких дополнительных таблиц для временного хранения данных.

4
ответ дан 3 December 2019 в 14:24
поделиться

Используйте функцию last_insert_rowid :

SELECT last_insert_rowid();
30
ответ дан 3 December 2019 в 14:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: