gpt4 book ai didi

postgresql - 使用 PostgreSQL 时的棘手问题

转载 作者:行者123 更新时间:2023-11-29 11:14:47 26 4
gpt4 key购买 nike

我正在使用 slick在 scala 项目中查询一些表。

    //define table
object Addresses extends Table[Address]("assetxs.address") {
def id = column[Int]("id", O.PrimaryKey)
def street = column[String]("street")
def number = column[String]("number")
def zipcode = column[String]("zipcode")
def country = column[String]("country")
def * = id ~ street ~ number ~ zipcode ~ country <> (Address, Address.unapply _)
}

如果我使用这个表的任何查询它都不起作用(它说它找不到我的表)所以我更进一步并打印出如下查询:

implicit val session = Database.forURL("jdbc:postgresql://localhost:5432/postgres", driver = "org.postgresql.Driver", user="postgres", password="postgres").createSession()
session.withTransaction{
val query = Query(Addresses)
println("Addresses: " + query.selectStatement)
}

我注意到 schema.table 的名称出现在 "" 中,所以语句是:

select x2."id", x2."street", x2."number", x2."zipcode", x2."country"
from "assetxs.address" x2

这当然行不通(我试图在 PostgreSQL 工具中运行它,我需要从 table name 中删除 "" 才能让它工作.

你能告诉我在使用表名时是否有任何巧妙的选项可以在任何查询中不包含 "" 吗?

最佳答案

您已将架构放入表名中。包含点字符的(带引号的)表名在 SQL 中是有效的,但这不是您想要的。您必须单独指定架构:

object Addresses extends Table[Address](Some("assetxs"), "address")

关于postgresql - 使用 PostgreSQL 时的棘手问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13381153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com