如何使用Sequel向PostgreSQL模式下的表执行INSERT操作?
Sequel操作带模式表的插入语法
要操作some_schema模式下的items表执行插入,Sequel有两种常用的正确写法:
使用双下划线分隔模式名和表名:
DB[:some_schema__items].insert # 对应SQL: INSERT INTO some_schema.items DEFAULT VALUES使用
from方法传入模式和表名两个参数:DB.from(:some_schema, :items).insert # 对应SQL: INSERT INTO some_schema.items DEFAULT VALUES
你之前尝试的两种写法存在问题:
DB[:some_schema][:items]会把:some_schema识别为表名,然后试图访问该表的:items列,并非指定模式下的目标表。DB[:some_schema.items]会把整个字符串当作单一表名执行,生成的SQL会是INSERT INTO "some_schema.items" DEFAULT VALUES,不符合模式+表的结构要求。
内容的提问来源于stack exchange,提问作者Khuyen Ho
相关产品推荐
相关产品推荐

