【问题标题】:Noob SQL Inserting and selecting in same queryNoob SQL 在同一查询中插入和选择
【发布时间】:2012-04-12 07:56:18
【问题描述】:

我正在尝试研究如何执行单个 SQL 查询,该查询插入一个新行,然后将插入显示为确认。

是否可以在一个 SQL 查询中执行此操作而不使用准备好的语句或将其放入 java 中?

这是两个单独的查询:

我正在使用 Postgres 数据库和 PGadmin 来运行查询。

INSERT INTO Log (ID, LogType, Status, Priority, LoggedTime, UserID, ProblemID) 
VALUES (2, 'test', 'test', 3, '2012-03-1
4 10:30',  2, 1);

SELECT * FROM Log WHERE ID = 2;

edit:ID每次都插入,不按顺序排列

【问题讨论】:

    标签: sql postgresql select insert


    【解决方案1】:

    如果 ID 是一个序列,您可以在该序列上选择 currval()。如果没有,您可以在 INSERT 上使用 RETURNING 子句。见http://www.postgresql.org/docs/current/static/sql-insert.html

    【讨论】:

    • 这不是一个序列,谢谢你的链接,我会试一试:)
    【解决方案2】:

    使用RETURNING 子句:

    INSERT INTO Log 
      (ID, LogType, Status, Priority, LoggedTime, UserID, ProblemID) 
    VALUES 
      (2, 'test', 'test', 3, '2012-03-14 10:30',  2, 1)
    RETURNING *;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-17
      • 2013-11-23
      • 1970-01-01
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      相关资源
      最近更新 更多