如何在不重复的情况下使用来自另一个 table 的信息更新 MySQL table?

How to update a MySQL table with information from another table without having repeats?

我对MySQL不是很熟悉,如果这是一个愚蠢的问题,请原谅我。 我有 2 个 table:contentcategory.

content有各种各样的信息栏目,但我对类别栏目感兴趣。

category 基本上只是第一个 table.

的类别列

现在,content 可以是任何东西,甚至可以重复。我希望 category 成为每一个并且不重复。因此,如果向 content 添加了一些新内容,那么它会将其添加到 category ,否则什么也不做。 现在 content 有很多行,而 category 是空的。

这次遍历所有 content 并将每一个添加到 category 的最佳方法是什么?

如果可能的话;更新 category 作为 content 的新条目(检查它是否已经存在,如果不存在则添加)?

MySQL版本:5.7.28 phpMyAdmin 版本:4.9.2

有多种方法,可能只使用 sql,如此处所述 (https://www.w3schools.com/sql/sql_insert_into_select.asp):

INSERT INTO category (column1, column2, column3, ...)
SELECT content.category
FROM content
WHERE condition;

由于我们不知道第二列的结构,所以我不知道如何为您提供更多帮助。 也许你也可以做类似的事情:

SELECT category FROM content

映射数据以适应新的 table e 过滤重复 e 然后 :

INSERT INTO category VALUE(?,?,?,..)

某些工作如果在后端完成而不是将逻辑放入数据库中会更好

更新类别与内容 中的新条目相同: 在将数据插入内容 table 之后将数据插入类别 table,并且只有在一切正常的情况下才将其放入类别 table.

不要使用宏或任何插件,不要在你不确定的地方自动执行它,如果发生什么事情你可以检查一下