[英]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.