【问题标题】:last_insert_rowid in sqlite - two tablessqlite 中的 last_insert_rowid - 两个表
【发布时间】:2012-04-02 10:50:32
【问题描述】:

我有两张桌子,其中一张是另一张的助手。表“reviews”有一列是一个整数,引用表“films”中该评论的电影的id。有没有办法在“电影”表中插入新电影后,使用“评论”表中的 last_insert_rowid?

我正在使用 SQLITE;我见过 max(id) 的用法,但它可能不那么可靠。非常感谢您的帮助。

【问题讨论】:

    标签: sql sqlite lastinsertid last-insert-id


    【解决方案1】:

    您可以在下一个插入中简单地使用它作为一个值,à la

    INSERT INTO films (name) values ('Shark!');
    INSERT INTO reviews (filmId,review) values (last_insert_rowid(), 'Good!');
    

    演示here.

    【讨论】:

    • 谢谢!我以为它只适用于同一张桌子。此外,有趣的网站 SQL Fiddle!我不知道它存在。
    • 值得注意的是,last_insert_rowid() 是一个准全局值——它在当前数据库连接中存储上一个 INSERT 操作的 rowid。
    猜你喜欢
    • 2015-05-18
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多