MySql发布2个表

MySql发布2个表,mysql,database,post,Mysql,Database,Post,我正在尝试学习mySql数据库,我有两个表,一个用于用户,另一个用于注册用户发布的CAT USERS: +----+---------+------------------+----------+--------+ | id | name | email | password | cats | +----+---------+------------------+----------+--------+ | 3 | omar | omar@hotmail.

我正在尝试学习mySql数据库,我有两个表,一个用于用户,另一个用于注册用户发布的CAT

USERS:
+----+---------+------------------+----------+--------+
| id | name    | email            | password | cats   |
+----+---------+------------------+----------+--------+
|  3 | omar    | omar@hotmail.com | omar     | []     |
| 14 | dana    | dana@gmail.com   | anad     | []     |
|  7 | mama    | mami@gmail.com   | mama     | []     |
|  9 | tata    | tata@gmail.com   | tata     | []     |
+----+---------+------------------+----------+--------+  

CATS:
+----+---------+----------------+---------+
| id | name    | age    | breed | ownerId |
+----+---------+--------+-------+---------+
|  5 | mimi    |      2 | Grey  |      14 |
| 10 | Negri   |     19 | black |       3 |
+----+---------+----------------+---------+
我想做的是,无论何时在CATS数据库中发布cat,我都希望该catId出现在owner'sId CATS数组的USERS数据库中。 例如,猫咪咪的ID=5,所有者ID=14。如果查看users表,ID14对应于用户Dana。我希望猫Id(5)出现在Dana的猫数组中。 这就是我现在拥有的代码:在CATS数据库中发布新cat的函数

function addCat (catsData, connection){
    let {name, age, breed, ownerId} = catsData;
    const mySqlQuery = `insert into cats(name, age, breed, ownerId) values ('${name}', '${age}', '${breed}', '${ownerId}')`;
    return new Promise ((resolve, reject) => {
        connection.query(mySqlQuery, 
            function (error, results, fields) {
                if(error){
                    reject(error);
                } else {
                    resolve(results);
                }
            })
    })
};


async function postCatsHandler(req, res, next) {
try {
    let data = req.body;
    const connection = req.app.get("mySqlConnection");
    const addedCatId =  await addCat(data, connection);
      console.log("addedCatId::", addedCatId);
            req.result ='{...data, id : addedCatId}' 
        next();
    }
    catch(error){
        next(error);
    }
};

Any tips or information is greatly valued.

Many thanks.

不应在数组中存储值。。您应该规范化您的数据库并使用适当的表来维护cats和用户之间的关系MYSQL中没有
数组
数据类型(除非您引用的是JSON?。@GMB是的,我指的是…?您不应该将cats数组存储在
用户
表中。任何时候当您需要此数组时,您都可以查询它:
SELECT USERS.*,GROUP_CONCAT(CATS.id)作为用户左侧的cat加入CATS.ownerId=USERS.id按用户分组。id
您不应该在数组中存储值。。您应该规范化您的数据库并使用适当的表来维护cats和用户之间的关系MYSQL中没有
数组
数据类型(除非您引用的是JSON?。@GMB是的,我指的是…?您不应该将cats数组存储在
用户
表中。任何时候当您需要此数组时,您都可以查询它:
SELECT USERS.*,GROUP_CONCAT(CATS.id)作为用户左侧的猫加入CATS.ownerId=USERS.id按用户分组。id