gpt4 book ai didi

MySQL - 创建新行并使用新 ID 插入现有数据?

转载 作者:行者123 更新时间:2023-11-29 15:41:32 25 4
gpt4 key购买 nike

我有一个类似于下面的MySQL表,是否可以:

1) 复制与“type = 42”相邻的现有“值”2)在每条记录的末尾插入一个新行(追加)3)将“type = 42”中找到的值添加到新行,但将类型从42更改为“206”?如下所示,之前和之后。

这可能吗?

之前:

+-------+------+-------+---------+---------+
| id | name | abbr | type | value |
+-------+------+-------+---------+---------+
| 123 | HCT | HCT | 42 | XYZ |
| | | | 57 | ABC |
| | | | 131 | RST |
| | | | 208 | 110 |
| 358 | CBC | CBC | 42 | 9AB |
| | | | 32 | GHI |
| | | | 11 | SB1 |
| | | | 22 | LLY |
| | | | 57 | JKL |
| | | | 131 | 32B |
| | | | 263 | POF |
| 102 | BMP | BMP | 42 | 444 |
| | | | 131 | 09N |
| | | | 263 | 77M |
| | | | 35 | XJJ |
| | | | 11 | X10 |
| | | | 22 | PLP |
+-------+------+-------+---------+---------+

之后:

+-------+------+-------+---------+---------+
| id | name | abbr | id_type | id_base |
+-------+------+-------+---------+---------+
| 123 | HCT | HCT | 42 | XYZ |
| | | | 57 | ABC |
| | | | 131 | RST |
| | | | 208 | 110 |
| | | | 206 | XYZ |
| 358 | CBC | CBC | 42 | 9AB |
| | | | 32 | GHI |
| | | | 11 | SB1 |
| | | | 22 | LLY |
| | | | 57 | JKL |
| | | | 131 | 32B |
| | | | 263 | POF |
| | | | 206 | 9AB |
| 102 | BMP | BMP | 42 | 444 |
| | | | 131 | 09N |
| | | | 263 | 77M |
| | | | 35 | XJJ |
| | | | 11 | X10 |
| | | | 22 | PLP |
| | | | 206 | 444 |
+-------+------+-------+---------+---------+

感谢您的帮助!

我是 MySQL 新手。

最佳答案

您应该能够使用 INSERT ... SELECT查询来执行此操作:

INSERT INTO table1
SELECT id, name, abbr, 206, value
FROM table1
WHERE type = 42

请注意,我假设您想要从 type= 的行复制 idnameabbr 值42. .如果您希望它们为空(如示例数据中所示),请将查询更改为

INSERT INTO table1
SELECT '', '', '', 206, value
FROM table1
WHERE type = 42

Demo on dbfiddle

关于MySQL - 创建新行并使用新 ID 插入现有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57582915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com