根据row = column name更新mySQL表

tom*_*tom 1 mysql sql database

一点点背景,让你明白我想做什么.我正在制作一个页面,它需要两个用户输入产品并检查它们是否彼此兼容.这是一个n + 1*n mySQL表,因为有n个产品.

表格看起来像

name    a    b    c    d    e
a
b
c
d
e
Run Code Online (Sandbox Code Playgroud)

我已经知道每个产品都与自身兼容,所以为了节省时间,是否有一个查询会自动填写表格以便我可以获得

name    a    b    c    d    e
a       1
b            1
c                 1
d                      1
e                           1
Run Code Online (Sandbox Code Playgroud)

谢谢

我忘了提,每个产品都可以与其他几个产品兼容.我投入的对角线只是一个起点.

Mar*_*ers 5

不是你问题的直接答案,但我觉得我必须提到它......

如果可能,您应该考虑将设计更改为以下内容:

compatible_products
product1 product2
a        b
a        c
b        d
etc...

如果为(a,b)和(b,a)插入行,则查询很简单:

SELECT 1
FROM compatible_products
WHERE product1 = 'a' AND product2 = 'b'
Run Code Online (Sandbox Code Playgroud)

此外,当您添加新产品时,您不必更改数据库架构.