私は、パラメータリストとして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. Java配列をストアドプロシージャに渡す
- 3. 配列をUSQLストアドプロシージャに渡す方法
- 4. 文字列の配列をLINQに渡すストアドプロシージャ
- 5. Oracleのストアドプロシージャに配列の配列を渡すにはどうすればいいですか? Oracleのストアドプロシージャに多数の配列を渡す
- 6. mulesoftからSQL Serverストアドプロシージャに配列/データオブジェクトを渡す方法
- 7. int配列をエンティティフレームワーク経由でT-SQLストアドプロシージャに渡す
- 8. JavaプログラムからSQLストアドプロシージャに配列を渡す方法
- 9. ユーザー定義型の配列をストアドプロシージャに渡す方法
- 10. ODP.NET文字列の配列をOracleのストアドプロシージャに渡す方法は?
- 11. jpaを使用してmysqlストアドプロシージャにオブジェクトの配列を渡すには
- 12. SSISストアドプロシージャにパラメータの配列を渡すSQLを実行するタスク
- 13. Springデータでストアドプロシージャを呼び出すときに配列を渡す方法JPA
- 14. ストアドプロシージャ内の配列
- 15. 複雑なオブジェクトの配列をdapperを使用してストアドプロシージャに渡す
- 16. mybatisを使用してPOJO項目の配列をストアドプロシージャに渡しますか?
- 17. 配列にパラメータを渡してOracleからストアドプロシージャをc#からバルク挿入に
- 18. テーブルからストアドプロシージャに整数値の配列を渡す方法は?
- 19. pthread_createに配列を渡す
- 20. 配列をコレクションに渡す
- 21. PDOに配列を渡す
- 22. 配列をメソッドに渡す
- 23. json.stringifyに配列を渡す
- 24. オブジェクトメソッドに配列を渡す
- 25. コンストラクタに配列を渡す?
- 26. ストアドプロシージャにデータテーブルを渡す
- 27. SSIS:ストアドプロシージャにレコードセットを渡す
- 28. VARBINARYをストアドプロシージャに渡す
- 29. Oracleストアドプロシージャの出力配列
- 30. 関数に渡す配列
あなたが達成しようとしていることを理解しやすくするために、回答を編集してコードの一部を投稿できますか? – lpfavreau