2017-03-27 76 views
-1

如何在PostgreSQL的頂部桌面插入項目?這可能嗎?在表格中,我只有兩個字段作爲文本。首先是主鍵。如何在桌面上插入項目

CREATE TABLE news_table (
    title text not null primary key, 
    url text not null  
); 

我需要一個簡單的Java程序查詢。

OK,這是我的代碼:

get("/getnews", (request, response) -> { 
    List<News> getNews = newsService.getNews(); 
    List<News> getAllNews = newsService.getAllNews(); 
    try (Connection connection = DB.sql2o.open()) { 
     String sql = "INSERT INTO news_table(title, url) VALUES (:title, :url)"; 
     for (News news : getNews) { 
      if (!getAllNews.contains(news)) { 
       connection.createQuery(sql, true) 
         .addParameter("title", news.getTitle()) 
         .addParameter("url", news.getUrl()) 
         .executeUpdate() 
         .getKey(); 
      } 

     } 
    } 
    return newsService.getNews(); 
}, json()); 

的問題是,因爲它要求getnews法第二次這個新的消息在表的末尾添加,並沒有現存hronologi消息。這個如何解決?我使用Sql2o + sparkjava。

也許我已經知道了。在我必須包含對象getnews和getallnews之前,我需要逆轉List getnews?

+0

'insert into new_table(title,url)values('The Title','The URL');' –

+6

有沒有這樣的事情作爲「表的頂部」 –

+0

要學習如何使用數據庫與Java ,請參閱[JDBC教程](http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html) –

回答

3

表中沒有開始或結束。如果你想排序你的數據,只需在你的SELECT語句中使用ORDER BY。沒有ORDER BY,就沒有訂單。

+0

您是對的。我會做測試 – kamiszczu

1

關係理論,關係數據庫的數學基礎,奠定了一定的條件,關係(以真實數據庫表示)必須服從。其中之一是它們沒有排序(,行既不會以任何特定的順序存儲也不能被檢索,因爲它們被視爲數學集合)。因此它完全處於RDBMS的控制之下,在該表中新行被輸入到表中。

因此,當您檢索數據時,沒有辦法確保數據的特定排序,而不使用ORDER BY子句。

相關問題