2015-12-12 152 views
0

我有以下問題: 我不會在我的數據庫中插入所有的值。 所以,我只會插入id,tessera,nome,sex。我想我不得不寫這樣的事情:插入特定值到MySQL數據庫

INSERT INTO registries(id,tessera,'',nome,sex) VALUES (35983,35983,'DOG', 'FABIO', 'M') 

我不想插入我的分貝導致狗價值,我沒有在我的模式中的任何屬性來保存它。 我有3000行,我把這一行作爲例子,所以我不能簡單地刪除我的SQL查詢中的DOG值和屬性字段。 我記得我不得不使用這樣的事情

INSERT INTO registries(id,tessera,'',nome,sex) 

我的意思是,我必須寫''不考慮在該位置的值。 但MySQL給我一個錯誤..

你能幫我嗎?

回答

0

您可以通過以下方式處理這種情況。

  1. 在同一臺服務器上創建臨時表。將所有數據插入臨時表中,然後使用insert into select語句並選擇所需的字段。

  2. 創建臨時列,該列中插入數據和刪除臨時列

    INSERT INTO registries (id,tessera,new_column,nome,sex) 
    VALUES (35983, 35983, '', 'FABIO', 'M'); 
    

現在

DROP COLUMN new_column from registries; 
+0

是不是可以使用類似於我在第一篇文章中寫的語法? – Vito

+1

INSERT語法只接受表 中的列我們可以在SELECT語句中使用任何常量值LIKE SELECT id,tessera,'MY Value',nome,sex FROM registeries WHERE id = 35983將導致35983,35983,MY Value,FABIO ,M –

0

試試這個(假設狗被列名):

INSERT INTO registries (id,tessera,dog_name,nome,sex) VALUES (35983, 35983, '', 'FABIO', 'M') 

如果dog_name被允許爲空(這是默認設置),你也可以只將任何價值,像這樣:

INSERT INTO registries (id,tessera,nome,sex) VALUES (35983, 35983, 'FABIO', 'M') 
+0

沒有,狗是一種價值。我沒有dog_name的屬性我的分貝,所以我不想插入它 – Vito

+0

看到我的編輯,這將插入和空字符串作爲dog_name – piscator

+0

所以,我嚴重地解釋了我的問題。我無法編輯每一行,刪除dog_name的值。所以我想不考慮attribut dog_name – Vito