Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql-使用逗号分隔的字符串列从现有行创建新行_Mysql_Sql - Fatal编程技术网

MySql-使用逗号分隔的字符串列从现有行创建新行

MySql-使用逗号分隔的字符串列从现有行创建新行,mysql,sql,Mysql,Sql,我有下表(名为表A): 我想在同一个表A中将其转换为以下内容: id | col A (varchar)| col B (int) 3 | foo | 1 4 | foo | 2 5 | foo | 3 6 | foo | ... 7 | bar | 4 8 | bar | 5 9 | bar |

我有下表(名为表A):

我想在同一个表A中将其转换为以下内容:

 id  | col A (varchar)| col B (int)
  3  | foo            | 1
  4  | foo            | 2
  5  | foo            | 3
  6  | foo            | ...
  7  | bar            | 4
  8  | bar            | 5
  9  | bar            | 6
  10 | bar            | ...
 ... | ...            | ...

我有sql脚本这样做的方法吗?

列B
始终是三个值,还是可以有更多?可以少一点吗?可以多3个值,也可以少一点。您是否要求我们将
col B
的类型更改为
INT
并分解这些值?您是否要求我们将类型保留为
VARCHAR
,并将各个值放入
列B
?您希望保留旧的行并添加新的行,还是用新的行替换旧的行?@trincot-尽管如此,您发布了可能重复的
sql server
version,当此帖子标记为
mysql
Duplicates for mysql:,并且,
col B
将始终是三个值,还是会有更多值?可以少一点吗?可以多3个值,也可以少一点。您是否要求我们将
col B
的类型更改为
INT
并分解这些值?您是否要求我们将类型保留为
VARCHAR
,并将各个值放入
列B
?您希望保留旧的行并添加新的行,还是用新的行替换旧的行?@trincot-但是,当此帖子标记为mysql的重复时,您发布了可能重复的
sql server
版本,以及。
 id  | col A (varchar)| col B (int)
  3  | foo            | 1
  4  | foo            | 2
  5  | foo            | 3
  6  | foo            | ...
  7  | bar            | 4
  8  | bar            | 5
  9  | bar            | 6
  10 | bar            | ...
 ... | ...            | ...