Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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,我想用列名创建另一个表,列名是该表的值之一。我想动态更改列名 比如说, +-----------------+------------+------------+--------------+---------------+ | name | continent | area | population | gdp | +-----------------+------------+------------+--------------+

我想用列名创建另一个表,列名是该表的值之一。我想动态更改列名

比如说,

+-----------------+------------+------------+--------------+---------------+
| name            | continent  | area       | population   | gdp           |
+-----------------+------------+------------+--------------+---------------+
| Afghanistan     | Asia       | 652230     | 25500100     | 20343000      |
| Albania         | Europe     | 28748      | 2831741      | 12960000      |
| Algeria         | Africa     | 2381741    | 37100000     | 188681000     |
+-----------------+------------+------------+--------------+---------------+

+-------------+
| Asia        |
+-------------+
| Afghanistan |
+-------------+

+-------------+
| Europe      |
+-------------+
| Albania     |
+-------------+

+-------------+
| Africa      |
+-------------+
| Algeria     |
+-------------+

这在mysql中可能吗?我不知道怎么开始这个

我可以提供一个算法

  • 在表中插入
    后创建
    触发器
  • 使用下面的mysql查询检查名称为Continental的表是否存在
  • SELECT*FROM information_schema.tables,其中table_schema='yourdb'
    和表_name=‘大陆名称’限制1

  • 如果存在,
    使用name的新值将
    插入该表
  • else
    创建带有洲的
    表,并插入

  • 希望有帮助

    您的预期产出是多少?它看起来像三个独立的表/结果集。您的问题引发了很多问题:您的
    大陆
    字段是否与另一个表(
    大陆
    )绑定,从而将此字段的条目限制为有效大陆?应该是。如果一个大陆的名称发生变化(例如从“北美”改为“北美”),该怎么办?根据字段的值动态创建表似乎不是一个好主意:您最终要解决什么问题?也许有更好(更容易)的方法来解决这个问题。