2012-08-25 41 views
1

當我嘗試插入一行時,有沒有辦法在實時添加mysql列?即時添加mysql列

例如,表包含列A,B,C,我想在表中插入一行包含A,C,D和F的行嗎?

有沒有辦法實際添加D和F列而不是導致錯誤?

+0

出於好奇,爲什麼你需要添加列? –

+0

請參閱我對Ofir Baruch的評論 –

+1

爲什麼不使用表格的鍵值關係呢?也就是說,您的表格總共有三列:用戶ID,鍵值和值。主鍵是(用戶名,密碼) –

回答

2

謝謝GlaciesofPacis和ADEV

你讓我有不同的想法有關的問題我問,而且看起來你的解決方案比我最初想的要好得多。

我將使用ID,Key,Value模型,而不是隻有很少的行和超過100列的表。

謝謝!

+0

只能在2天內接受 –

0

您可以使用AlterADD爲了向表中添加新列。

例如;

ALTER TABLE contacts ADD email VARCHAR(60); 

將添加一個名爲email它的類型,如果Varchar新列,爲contacts表。

當然,在插入行之前,您必須檢查要添加哪些列, 添加它們,然後插入新行。

+0

好吧,這正是問題,如果我知道哪些字段我有數據庫,沒有必要動態添加字段,我只是簡單地將各種變量轉儲到數據庫中,變量的名稱是列的名稱,我想能夠不打擾找出哪列已經存在... –

+0

我沒有跟着你......當你得到新的值時,你檢查你想添加哪些字段(例如使用if),然後,您添加這些字段並插入值。 用適當的方式重寫你的問題,這樣我就能理解了。 '並添加一個例子'。 –

0

您可以使用ALTER TABLE,並給它需要例如任何查詢

ALTER TABLE TABLE_NAME 
ADD COLUMN_NAME (ATTRIBUTE) 

希望這可以幫助你