IN
句のパラメータとしてJSON配列を使用できます(JSONをサポートするバージョン5.7以上)。以下は"IN"節で使用するMySQL JSON配列?
は、私はかなり働いて得られないできるコードです...
DROP TABLE IF EXISTS json_table;
CREATE TEMPORARY TABLE json_table(
id INT,
data JSON
);
INSERT INTO json_table (id, data) VALUES (1, "[1,2,3,4,19,20]");
SELECT jt.id, jt.data, REPLACE(REPLACE(jt.data, '[', ''), ']', ''), jt.data->"$[4]"
FROM json_table jt;
SELECT stuff.name
FROM table_stuff stuff
#JOIN json_table jt ON stuff.id IN (1,2,3,4,19,20);
JOIN json_table jt ON stuff.id IN (REPLACE(REPLACE(jt.data, '[', ''), ']', ''));
DROP TABLE IF EXISTS json_table;
できません。これには、動的にビルド(文字列)と実行されたクエリが必要です。あなたが書いたのと同じように、単なる 'TEXT'値です。代わりに[これらの機能](https://dev.mysql.com/doc/refman/5.7/ja/json-search-functions.html)を使用してください。 –
@KamilG。ありがとうKamil – aero