我有两个表:state_current
和state_snapshots
。 state_current
正好包含4行,即4个不同键的当前值:
+-----+-------+
| key | value |
+-----+-------+
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
+-----+-------+
现在,我想在state_snapshots
中添加一行,其中包含单独列中每个键的值:
+---+---+---+---+
| A | B | C | D |
+---+---+---+---+
| 1 | 2 | 3 | 4 |
| 1 | 2 | 3 | 5 |
| 1 | 2 | 4 | 5 |
...
+---+---+---+---+
当然,密钥永远不会在state_current
中更改,只会更改值。 mySQL查询将在第一列中的A
中创建值为state_current
的行,在第二列中的B
中创建state_current
的值,依此类推?< / p>
我是mySQL的新手,所以提前感谢您的帮助!
答案 0 :(得分:1)
我能想到的最简单的答案是:
insert into state_snapshots(a,b,c,d)
values ( (select value from state_current where key='A'),
(select value from state_current where key='B'),
(select value from state_current where key='C'),
(select value from state_current where key='D')
);