当我在 Redshift 中使用 Any 时,它会崩溃:在“,”或附近出现语法错误
Posted
技术标签:
【中文标题】当我在 Redshift 中使用 Any 时,它会崩溃:在“,”或附近出现语法错误【英文标题】:When I use Any in Redshift , crash it : syntax error at or near "," 【发布时间】:2019-11-26 18:22:56 【问题描述】:var variable ="Select columns1,columns2,columns3 from schema.table where columns1 = ANY(@idsNumber)";
connection.Query(variable, new idsNumber= new[] 123, 432 ).ToList();
我有这段代码用于搜索我的 Redshift 数据库中的记录,但是当执行此代码时,他会崩溃一个错误
无效操作:“,”或附近的语法错误
我不知道为什么会这样,Redshift 基于 postgres,而 postgres 使用 ANY not IN(IN 也不起作用)。
编辑
我使用 dapper,并像这样在 DAO 中声明我的连接
using (var connection = new NpgsqlConnection(RedshiftConnection.GetSecret(context, ESecretNameRedShift.DatabaseName)))
你能帮帮我吗?
【问题讨论】:
能否请您显示更多代码,以便我们尝试重现您的情况?例如,connection
是在哪里定义的,您使用的是什么驱动程序?另外,请向我们展示IN
不起作用的示例。 (您可以编辑您的问题以添加这些详细信息。)
好的,我现在就这样做
我也收到同样的错误“[Amazon](500310) Invalid operation: syntax error at or near ",", 当试图在 SQL WORKBENCH/J IDE(Build 125)。这是我的脚本“ALTER TABLE employeetest ADD COLUMN last_name varchar(100) DEFAULT NULL, ADD COLUMN email varchar(100) DEFAULT NULL;”
【参考方案1】:
来自***: SELECT * FROM X WHERE id IN (…) with Dapper ORM:
string sql = "SELECT * FROM SomeTable WHERE id IN @ids"
var results = conn.Query(sql, new ids = new[] 1, 2, 3, 4, 5 );
【讨论】:
以上是关于当我在 Redshift 中使用 Any 时,它会崩溃:在“,”或附近出现语法错误的主要内容,如果未能解决你的问题,请参考以下文章