簡體   English   中英

將數據列添加到現有的mySQL表

[英]Add column of data to an existing mySQL table

我有一個基本的SQL問題,這讓我很生氣。 如果我有一個mySQL表,例如下面。 如何從第一個空行開始向列2添加另外80個以上的值(在此示例中為第3行)。

我一直在使用INSERT或UPDATE嘗試一些查詢,但最接近的是從最后定義的ID值(例如,行80ish)開始將值添加到第2列。

   ID  |    Column 2    |
--------------------------------
  1    |    value       |
  2    |    value       |
  3    |                |
  4    |                |
  5    |                |

etc

真正的表有大約10列,都有數據,但我只需要添加內容(CSV格式的大約80個不同字符串的列表到其中一列)

如果有人能指出我正確的方向,我會很感激。

我將數據加載到具有相同結構的單獨表中,然后使用join或子​​查詢更新目標表以確定哪些列當前為空。

即加載臨時表然后:

update target_table set column2 = (select column2 from interim_table where ... 
where column2 is null

(緩慢但直觀)

update target table, interim_table 
set target table.column2 = interim_table.column2 
where target table... = interim_table...
and target_table.column2 is null

(更好的性能)

為什么不首先運行查詢來查找第一個空行ID號? 你可以使用SELECT COUNT(*) FROM TABLE_NAME

然后你創建一個for循環並在內部運行一個INSERT查詢,從前一個查詢返回的值開始。 只是一個划痕:

for(var id = last; id < totalOfQueries; id++)
{
  var query = new MysqlCommand("INSERT INTO table VALUES ('" + id + "',....);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM