Golang Go语言中请教个 gorm 的问题
Golang Go语言中请教个 gorm 的问题
我用 gorm 读取 sqlite3 的文件,其中有个表 字段 id 是自增的,字段 date 是 DATE 类型,当我读取这个表的数据时,id 总是显示为 0,date 总是显示为 0001-01-01T00:00:00Z
请问下是怎么回事呢?应该怎么解决。
谷歌百度都没搜到怎么解决。。。
代码呢,返回 error 了吗?
没读取到所以返回默认值了
没有 error,部分数据是正常的返回
已经补上了代码
有点不太明白为什么没有取到数据,因为同一列的其他部分数据有取到
连接参数 parselocal?
用数据库软件,打开源 sqlite 文件,看看里面是什么情况。如果数据正常,就是程序的问题。
我也遇到过一次,是数据库连接字符串上需要加上 parseDate=true (类似这样的一个配置,手机不方便查看)解决的,具体的看 readme 上面写的有。
用 SQLiteStudio 打开看数据是正常的
您说的是 parseTime=true&loc=Local 这两参数吗?好像这两是用在 MySQL 的连接
是的 连接参数你看看对不对头 感觉是连接参数的设置问题
也可以看看 b 站流出来的代码的参数设置阿
好的,我去看看呢,谢啦
把这个打出来:db.Where("Name=?","testcase").Find(&a).Error
估计是 RecordNotFound
Q: sqlite 真的连上了吗,其他数据能正常读出来吗
你数据库的列名是 Id ?日期列名 date ?检查写对了没……感觉你这大小写不统一
用 slice 接收试试
你没有验证是不是有 error 啊
db.LogMode(true)
加上这一句打印一下 sql 的日志
打印下日志吧。没查到数据肯定就是空值的啊。
当然,我很乐意帮你解答关于Go语言和GORM的问题。
GORM 是一个用于 Go 语言的强大 ORM(对象关系映射)库,它支持多种数据库,如 MySQL、PostgreSQL、SQLite 等,并提供了简洁易用的 API 来操作数据库。
关于 GORM,常见的问题可能涉及模型定义、查询、更新、删除、事务处理等方面。以下是一些常见问题的简要回答:
-
模型定义:在 GORM 中,你可以通过定义结构体来映射数据库表。使用
gorm:"column:xxx"
标签可以自定义字段名。 -
查询:GORM 提供了链式 API 来构建查询。例如,
db.Where("name = ?", "jinzhu").Find(&users)
可以查询所有名字为 “jinzhu” 的用户。 -
更新:使用
Save
方法可以更新模型。例如,db.Save(&user)
会根据主键更新user
模型的记录。 -
删除:使用
Delete
方法可以删除记录。例如,db.Delete(&user, user.ID)
会删除主键为user.ID
的记录。 -
事务处理:GORM 支持事务处理,你可以使用
db.Transaction
方法来开始一个事务,并在回调函数中执行数据库操作。如果回调函数返回错误,事务会自动回滚。
如果你有更具体的问题,比如如何优化查询性能、如何处理复杂的关联关系等,可以提供更详细的描述,我会根据你的需求给出更具体的建议。希望这些信息对你有所帮助!