我们最近将数据库从MSSQL切换到MySQL,使用参数的查询不再起作用.
这是MSSQL中的查询示例:
SELECT * FROM users u WHERE u.ID = :id
Run Code Online (Sandbox Code Playgroud)
通常,参数浏览器会弹出并询问我的值为:id,但在MySQL中我收到此错误:
您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在':id'附近使用正确的语法
我试过用@或?而不是:它不起作用.
在此先感谢您的帮助.
我在MySQL中查询很困难.
我正在使用Delphi XE,我正在向MySQL发送带有一些参数的查询.以下是查询的示例:
SELECT * FROM users u WHERE u.id IN (:idUsers);
Run Code Online (Sandbox Code Playgroud)
':idUsers'是接收我用Delphi发送的参数的变量,这是一个包含格式的字符串,例如:1,2,3
问题是,使用此字符串,我只收到第一个用户(id = 1).从我所看到的,就像MySQL一样,在我发送的字符串的开头和结尾添加一些引号(''),就好像它是'1,2,3'而不是1,2,3.我试过这个选择:
SELECT * FROM users u WHERE u.id IN ('1,2,3');
Run Code Online (Sandbox Code Playgroud)
它确实只返回第一个用户..
我在MSSQL中有一个函数,它正在拆分我发送的字符串并返回一个临时表,但我们最近切换到MySQL,从我读到的,MySQL不允许返回一个表.
任何人都有如何解决这个问题的线索?我一直在废弃Web以获得答案,并且没有找到针对此特定问题的答案.
谢谢您的帮助.