2017-08-01 69 views
-1

我的表看起來像這樣如何在MySQL中創建具有列名稱的表?

describe metal; 
+----------+-------------+------+-----+---------+-------+ 
| Field | Type  | Null | Key | Default | Extra | 
+----------+-------------+------+-----+---------+-------+ 
| name  | varchar(20) | YES |  | NULL |  | 
| copper | varchar(20) | YES |  | NULL |  | 
| gold  | varchar(20) | YES |  | NULL |  | 
| iron  | varchar(20) | YES |  | NULL |  | 
| lead  | varchar(20) | YES |  | NULL |  | 
| mercury | varchar(20) | YES |  | NULL |  | 
| platinum | varchar(20) | YES |  | NULL |  | 
| silver | varchar(20) | YES |  | NULL |  | 
| tin  | varchar(20) | YES |  | NULL |  | 

我真正想要的是這個

+----------+ 
| name 
|+----------+ 
| copper 
| gold 
| iron 
| lead 
| mercury 
| platinum 
| silver 
| tin 

我的目標是通過name.I操縱列創建了我原來的表

CREATE TABLE metal (name VARCHAR(20),.... 

問題在這裏

SELECT name FROM metal WHERE name LIKE 'co%'; 
Empty set (0.00 sec) 

銅在那裏,所以我的創作出了問題。

+0

你actully需要什麼? –

+0

我不明白你在問什麼(以及誰提高了這個?)。 –

+1

這糟糕的設計。見正常化。 – Strawberry

回答

2

歸一化的設計可能是這樣的:

metals (id*, name) 

其中*是一個PRIMARY KEY

所以:

  id name 
      29 copper 
      79 gold  
      26 iron  
      82 lead  
      80 mercury 
      78 platinum 
      47 silver 
      50 tin 
-1

目前,您有一個實際名爲「名稱」的列/字段。如果您不需要,請刪除「名稱」列。

+----------+-------------+------+-----+---------+-------+ 
| Field | Type  | Null | Key | Default | Extra | 
+----------+-------------+------+-----+---------+-------+ 
| name  | varchar(20) | YES |  | NULL |  | <------ 
| copper | varchar(20) | YES |  | NULL |  | 
1

這樣創建表:

+----------+-------------+------+-----+---------+-------+ 
| Field | Type  | Null | Key | Default | Extra | 
+----------+-------------+------+-----+---------+-------+ 
| name  | varchar(20) | NO | YES |   |  | 

然後你就可以在這個表中添加金屬的不同的名字:銅,金,鐵使用INSERT語句。

相關問題