Mysql将json列与数组进行比较

haf*_*tim 5 php mysql sql pdo phpmyadmin

我正在处理 PHP PDO 查询,我想检查 JSON 列是否与 PHP 数组相交。

$classes = [1,2,3,4,5,6,7];
|---------------------|------------------|
|      students       |       classes    |
|---------------------|------------------|
|          12         |      [1,3,6]     |
|---------------------|------------------|
|          13         |     [2,9,10]     |
|---------------------|------------------|
|          14         |     [9,8,10]     |
|---------------------|------------------|
Run Code Online (Sandbox Code Playgroud)

例如,在上面的示例中,我需要让$classes = [1,2,3,4,5,6,7];数组中存在至少一个 classe 的所有学生,因此在这种情况下,结果应该是:

|---------------------|------------------|
|      students       |       classes    |
|---------------------|------------------|
|          12         |      [1,3,6]     |
|---------------------|------------------|
|          13         |      [2,9,10]    |
|---------------------|------------------|
Run Code Online (Sandbox Code Playgroud)

我试图将数组作为字符串并执行“%like%”,但由于'x,y,z'不在'a,b,x,c'.

所以我想知道我们是否可以将存储在 MySQL 中的两个数组作为 json 进行比较,另一个是 PHP 数组。我需要在查询中执行此操作。

谢谢

Jos*_*hua 0

您尝试过使用JSON_EXTRACT链接)吗?

它应该让您将其视为数组。

DigitalOcean HowTo(无论如何我与他们没有任何关系)。