我有一个带有“父母”和“孩子”行的数据库。类似的条目,但是一个条目是更具体的子项的通用版本。但是,我希望这些条目在某些列中完全匹配。

这是我的数据库的示例:

| ID |  IsChildOfID |   Food    |   Type        |
| 1  |              |           |   Fruit       |
| 2  |      1       |   Apple   |   Fruit       |
| 3  |      1       |   Pear    |   Vegetable   |
| 4  |      1       |   Banana  |   Vegetable   |
| 5  |              |           |   Vegetable   |
| 6  |      5       |   Lettuce |   Fruit       |
| 7  |      5       |   Celery  |   Vegetable   |
| 8  |      5       |   Cabbage |   Fruit       |


在这个例子中,有2个父母和6个孩子。 “类型”字段的值对于某些子代来说是不确定的。我希望能够在数据库中找到任何子级,并仅在某些列中将其替换为其父级的值。纯粹使用MySQL是否可能做到这一点,或者我需要使用php吗?谢谢。

最佳答案

UPDATE name_of_table SET Type = "Fruit" WHERE IsChildOfID = 1


UPDATE name_of_table SET Type = "Vegetable" WHERE IsChildOfID = 5

但是,如果您想动态地执行此操作,请使用php或其他语言...
我也更喜欢使用2个表来处理此类数据...

10-08 17:25