用的是
github.com/xormplus/xorm想实现 MySQL 的以下查询:
select * from tag where FIND_IN_SET(tag, 'a,b,c,d')
err := engine.Select("tag,score").Where("FIND_IN_SET(tag,'?')", tagstr).Find(&tags)
ShowSQL 打印出 SQL 如下:
[SQL] SELECT tag,score FROM `t_tag` WHERE (FIND_IN_SET(tag,'?')) [a,b,d]
错误信息:
sql: expected 0 arguments, got 1
网上搜索,也看了官方手册没有 FIND_IN_SET 相关资料(不能换成 IN 查询)。
按手册又换成:engine.Sql("select * from tag where id =?", 16).Find(&tags),提示 Sql 方法不存在。。
刚接触 go 语言,也没法深入排查,请问是 xorm 就没有实现对 FIND_IN_SET 的支持吗?
kaolajia123
2020-12-25 13:42:46 +08:00
.Select("tag,score").Where("FIND_IN_SET(tag,?)", "1,2,3").Find(&rs)
[xorm] [info] 2020/12/25 13:41:08.622700 [SQL] SELECT tag,score FROM `m_tag` WHERE (FIND_IN_SET(tag,?)) [1,2,3] - 1.623635ms
[{0 2 5}] <nil>
我试了下没啥问题啊
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://tanronggui.xyz/t/738844
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.