gpt4 book ai didi

mysql - Rails 数据库查询中的语法错误

转载 作者:行者123 更新时间:2023-11-29 04:19:10 24 4
gpt4 key购买 nike

我有两个表(用户名:字符串组:整数)和关系(源:整数,目标:整数,值:整数)之间的一对多关系。它们是相关的,因此 userid=relatioship.source。

我试图从中获取一些 json,所以我写了:

 def self.including_relationships
User.joins("INNER JOIN relationships ON users.id = relationships.source").select("users.name, users.group, relationships.source, relationships.target, relationships.value").each_with_object(Hash.new{|h, k| h[k] = []}) do |a, obj|

obj['nodes'] << a.slice('name','group')
obj['links'] << a.slice('source', 'target', 'value')

但是我得到了错误

SQLite3::SQLException: near "group": syntax error: SELECT users.name, users.group, relationships.source, relationships.target, relationships.value FROM "users" INNER JOIN relationships ON users.id = relationships.source

当我删除切片中的 users.group 和“group”时,它工作正常。

我检查了我的数据库模式,如下所示:

ActiveRecord::Schema.define(version: 20150603200530) do

create_table "relationships", force: true do |t|
t.integer "source"
t.integer "target"
t.integer "value"
end

create_table "users", force: true do |t|
t.string "name"
t.integer "group"
end

end

表格都按应有的方式填充。我无法弄清楚确切的语法错误是什么。

最佳答案

group 是保留字。

要将其用作数据库对象,请在其周围使用反引号。

部分声明修改如下:

select("users.name, users.`group`, 

文档:

关于mysql - Rails 数据库查询中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726758/

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