gpt4 book ai didi

mysql - 在 ScalikeJDBC 中使用 SQLSyntaxSupport 时找不到列名称

转载 作者:行者123 更新时间:2023-11-29 18:33:29 25 4
gpt4 key购买 nike

我有一个模型,如下所示。

case class House (
id: Int,
name: String,
cityId: Int,
leaseInterval: Interval
)

case class Interval(start: ZonedDateTime, end: ZonedDateTime)

我的表定义如下。

CREATE TABLE houses(
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY ,
name VARCHAR(255),
city_id INT NOT NULL,
start_at datetime DEFAULT NULL,
end_at datetime DEFAULT NULL,
);

我正在尝试编写一种在 MySQL 数据库中保存房屋的方法,如下所示。

val c = House.column
val id = sql"insert into ${House.table} (${c.name}, ${c.cityId}, ${c.startAt}, ${c.endAt}) values (${name}, ${cityId}, ${startAt}, ${endAt})".stripMargin.updateAndReturnGeneratedKey.apply()

但是我收到以下编译错误。

House#startAt not found. Expected fields are #id, #name, #cityId, #leaseInterval.

我也对 c.endAt 列遇到相同的错误。

我做错了什么吗?如果我使用 c.column("start_at"),错误就会消失。

最佳答案

看起来你的学院等级和学院表之间的不匹配可能是造成这种情况的原因。您还需要 Interval 中的列,或者将 startAt 和 endAt 放入您的 House 类中。

关于mysql - 在 ScalikeJDBC 中使用 SQLSyntaxSupport 时找不到列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45502853/

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