私は、パラメータリストとしてphpからmysqlストアドプロシージャに値の配列を渡そうとしており、ストアドプロシージャ内で配列を使用する方法を説明しています。プロシージャ内の問合せには3つのIN文がありますので、IN(@listOfids)
を実行したいと思います。@ listOfidsは1,2,3,4(PHPのimploded配列)です。配列をストアドプロシージャに渡す
7
A
答えて
5
PHPを介して渡されるだから擬似コードは
CREATE PROCEDURE `related_stories`(IN param1 VARCHAR(255), IN param2 VARCHAR(255), IN param3 VARCHAR(255), IN publishDate INT(11), IN tlimit INT(11))
BEGIN
SET @query =CONCAT('
select s.* from
(
select * from
(
SELECT something where condition IN (',param1,')
) as table1
UNION ALL
select * from
(
SELECT something where condition IN (',param2,')
) as table2
UNION ALL
select * from
(
SELECT something where condition IN (',param3,')
) as table3
) as s
WHERE (s.publish_date < ',publishDate,')
GROUP BY id limit ',tlimit,';');
PREPARE stmtInsert FROM @query;
EXECUTE stmtInsert;
END
PARAM1、PARAM2、param3を爆縮されているので、私は、クエリとパラメータを連結することで回避策を持って配列、例えば( '1,2 、3,4 ')。これが誰かに役立つことを願っています
1
ここでの主な問題は、MySQLがデータ型として配列をサポートしていないことです。メインデータと配列のデータに戻ってくる外部キーを含む別のテーブルに対して、one-to-manyの関係を形成する必要があります。
0
私はあなたがcsvとしてそれを渡す必要があると思います。 Mysqlは非常に親切ではありません。限りストアドプロシージャの言語に行く私は本当に不足しているMysqlを見つける。
関連する問題
- 1. IDの配列をストアドプロシージャに渡す
- 2. 文字列の配列をLINQに渡すストアドプロシージャ
- 3. JavaプログラムからSQLストアドプロシージャに配列を渡す方法
- 4. ODP.NET文字列の配列をOracleのストアドプロシージャに渡す方法は?
- 5. ストアドプロシージャ内の配列
- 6. SSISストアドプロシージャにパラメータの配列を渡すSQLを実行するタスク
- 7. json.stringifyに配列を渡す
- 8. オブジェクトメソッドに配列を渡す
- 9. VARBINARYをストアドプロシージャに渡す
- 10. ストアドプロシージャにデータテーブルを渡す
- 11. SSIS:ストアドプロシージャにレコードセットを渡す
- 12. JavaScriptの配列に配列を渡すには?
- 13. コンストラクタに配列を渡すには?
- 14. jQuery $ .ajaxに配列を渡すには?
- 15. PHP配列をJavascript配列に渡します。
- 16. 値の配列をオブジェクト配列に渡す
- 17. ベクトルの配列をユニフォームに渡す
- 18. レコードの配列をdelphi dllに渡す
- 19. jqueryにjavascript配列を渡す
- 20. int配列をフラグメントシェーダに渡す
- 21. PHP配列をJavaScript関数に渡す
- 22. 配列に.map()エラーを渡す
- 23. cakephp配列をXml :: build()に渡す
- 24. Angularjs $ http.post、配列をPHPに渡す
- 25. Javascript配列をPHPファイルに渡す
- 26. PHPページに配列を渡す
- 27. javascript配列をC#メソッドに渡す
- 28. COMETでJavascriptに配列を渡す
- 29. Tapestryでjavascriptに配列を渡す
- 30. DjangoテンプレートにPythonで配列を渡す
あなたが達成しようとしていることを理解しやすくするために、回答を編集してコードの一部を投稿できますか? – lpfavreau