如何在不重复的情况下使用来自另一个 table 的信息更新 MySQL table?
How to update a MySQL table with information from another table without having repeats?
我对MySQL不是很熟悉,如果这是一个愚蠢的问题,请原谅我。
我有 2 个 table:content
和 category
.
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.
不要使用宏或任何插件,不要在你不确定的地方自动执行它,如果发生什么事情你可以检查一下
我对MySQL不是很熟悉,如果这是一个愚蠢的问题,请原谅我。
我有 2 个 table:content
和 category
.
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.
不要使用宏或任何插件,不要在你不确定的地方自动执行它,如果发生什么事情你可以检查一下