Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL:json-Arrays variabler Länge indizieren?

Dies ist jetzt mit MySQL 8.0.17+ möglich

So etwas (nicht getestet)

CREATE TABLE posts (
    id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    tags JSON,
    INDEX tags( (CAST(tags AS VARCHAR(32) ARRAY)) )
    );

Verwenden Sie es so:

SELECT * FROM posts 
         WHERE JSON_CONTAINS(tags, CAST('[tag1, tag2]' AS JSON));

Weitere Details und Beispiele hier:https://dev.mysql.com /doc/refman/8.0/en/json.html