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中可能吗?我不知道怎么开始这个 我可以提供一个算法
后创建触发器
SELECT*FROM information_schema.tables,其中table_schema='yourdb'
和表_name=‘大陆名称’限制1代码>
如果存在,使用name的新值将
插入该表
else创建带有洲的
表,并插入
值
希望有帮助您的预期产出是多少?它看起来像三个独立的表/结果集。您的问题引发了很多问题:您的
大陆
字段是否与另一个表(大陆
)绑定,从而将此字段的条目限制为有效大陆?应该是。如果一个大陆的名称发生变化(例如从“北美”改为“北美”),该怎么办?根据字段的值动态创建表似乎不是一个好主意:您最终要解决什么问题?也许有更好(更容易)的方法来解决这个问题。