Postgresql 如何在桌面上插入项目

Postgresql 如何在桌面上插入项目,postgresql,jdbc,Postgresql,Jdbc,如何在PostgreSQL中插入顶部表上的项?有可能吗?在表中,我只有两个字段作为文本。首先是主键 CREATE TABLE news_table ( title text not null primary key, url text not null ); 我需要一个简单的java程序查询 好的,这是我的代码: get("/getnews", (request, response) -> { List<News> getNews = news

如何在PostgreSQL中插入顶部表上的项?有可能吗?在表中,我只有两个字段作为文本。首先是主键

CREATE TABLE news_table (
    title text not null primary key,
    url text not null    
);
我需要一个简单的java程序查询

好的,这是我的代码:

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());
get(“/getnews)”,(请求、响应)->{
List getNews=newservice.getNews();
List getAllNews=newservice.getAllNews();
try(Connection=DB.sql2o.open()){
String sql=“插入新闻表格(标题、url)值(:标题、url)”;
for(新闻:getNews){
如果(!getAllNews.contains(新闻)){
connection.createQuery(sql,true)
.addParameter(“title”,news.getTitle())
.addParameter(“url”,news.getUrl())
.executeUpdate()
.getKey();
}
}
}
返回newsService.getNews();
},json());
问题是,当它第二次调用getnews方法时,这个新的新闻会添加到表的末尾,并且没有现存的时态新闻。这个问题如何解决?我使用Sql2o+sparkjava


可能我已经知道了。在必须包含对象getnews和getallnews之前,我需要反转列表getnews?

表中没有开始或结束。如果要对数据进行排序,只需在SELECT语句中使用ORDER BY。关系数据库是关系数据库的数学基础,它规定了关系(在实际数据库中表示为表)必须遵守的某些条件。其中之一是它们没有顺序(即,行既不会以任何特定顺序存储也不会以任何特定顺序检索,因为它们被视为一个数学集)。因此,它完全受RDBMS的控制,在RDBMS中,一个新行被输入到一个表中


因此,在检索数据时,如果不使用
ORDER BY
子句,就无法确保数据的特定顺序。

插入到新的_表(标题,url)值(“标题”,“url”)没有“表的顶部”这样的东西来学习如何使用Java数据库,请参见