2017-04-03 81 views
0

我已經搜索了所有的谷歌,還沒有找到解決方案。我在一些網站看到一些聯合功能等,但不知道如何做好。從數據庫2添加列到Database1

我有table1有192列和4000記錄。

表2列402列和0條記錄。

我需要添加table1中table1上不存在的列。我發現很難手動添加列一個一個。

實施例:

表1(4000個記錄) 柱:姓名,年齡,性別

表2(0記錄) 柱:ID,Refferal_ID,姓名,年齡,地點,性別,鄉村

我需要讓表3 表3(4000個記錄) 列:ID,Refferal_ID,姓名,年齡,地點,性別,國家 (讓新列的值,爲每個記錄爲0)

+1

您可以使用準備語句,執行聯合國'改變表...'。看看這裏,https://dev.mysql.com/doc/refman/5.7/en/sql-syntax-prepared-statements.html – winter

+0

@amaia對不起,我是新來的SQL不明白如何實現。你能簡要描述一下嗎? [我看到這個問題](http://stackoverflow.com/questions/27376152/how-to-add-a-column-to-a-table-from-another-table-in-mysql)但其實我需要添加列而不是數據。很難手動添加列。 –

回答

0

如果要添加列,可以使用prepareStmt創建一個包含準備語句的過程。

這是一個示例使用準備好的發言在表中添加一列:

SET v_column_definition := CONCAT(
    v_column_name 
    ,' ',v_column_type 
    ,' ',v_column_options 
); 

SET @stmt := CONCAT('ALTER TABLE ADD COLUMN ', v_column_definition); 

PREPARE stmt FROM @stmt; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
+0

如何獲取列名稱,鍵入(60+)要執行的各個列出現在另一個表上。也有任何現成的工具或PHP腳本等可以做這個工作。給2個表格將創建一個新表格,其中包括兩個表格(所有列和數據) –

+0

檢查此https://dev.mysql.com/doc/refman/5.7/en/columns-table.html – winter

+0

你可以做一些事情像這樣的,並獲得在任何表格中的列的結構'SELECT COLUMN_NAME,DATA_TYPE,IS_NULLABLE,COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS 在表格名= 'tbl_name' [AND TABLE_SCHEMA = 'DB_NAME'] [AND COLUMN_NAME LIKE '野生' ]' – winter