相关疑难解决方法(0)

如何在MySQL存储过程中传递字符串列表?

我试图在MySQL存储过程中将数组作为字符串传递,但它不能正常工作.

这是我的SQL代码:

CREATE DEFINER=`root`@`localhost` PROCEDURE `search_equipment`(IN equip VARCHAR(100), IN category VARCHAR(255))
BEGIN
    SELECT *
        FROM Equipment
        WHERE e_description
        LIKE CONCAT("%",equip,"%")
            AND e_type IN (category)
END
Run Code Online (Sandbox Code Playgroud)

以下是我称之为程序的方式:

String type = "'I.T. Equipment','Office Supply'";

CALL search_equipment('some equipment', type);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java mysql sql

4
推荐指数
1
解决办法
1万
查看次数

准备好的sql语句中的int的Python列表

我的问题与SQL到SQL IN参数的String的Python列表有些相同,但是我有一个整数列表。我使用的python代码是:

ids = [1000032, 1000048]
sql = 'SELECT CompNo, CompName, CompType FROM Component WHERE DeptID IN (?)'    
cursor.execute(sql, [','.join(ids)])
Run Code Online (Sandbox Code Playgroud)

Sybase数据库引擎的响应为:

pyodbc.Error: ('07006', "[07006] [Sybase][ODBC Driver][SQL Anywhere]Cannot convert '1000032','1000048' to a numeric (-157) (SQLExecDirectW)")
Run Code Online (Sandbox Code Playgroud)

正确的方法是什么?

python sql sqlanywhere pyodbc

4
推荐指数
2
解决办法
1015
查看次数

标签 统计

sql ×2

java ×1

mysql ×1

pyodbc ×1

python ×1

sqlanywhere ×1