簡體   English   中英

將數據從一個表轉移到同一數據庫中的另一個表

[英]transfer data from 1 table to another in the same database

這是正確的語法:

INSERT INTO stock (Image) 
SELECT Image, 
FROM productimages 
WHERE stock.Name_of_item = productimages.number;

SQL Server Management Studio的“導入數據”任務(右鍵單擊數據庫名稱,然后單擊任務)將為您完成大部分任務。 從您要將數據復制到的數據庫中運行它。

如果這些表不存在,它將為您創建它們,但是您可能必須重新創建任何索引等。 如果這些表確實存在,則默認情況下它將添加新數據,但是您可以對其進行調整(編輯映射),以便刪除所有現有數據。

我一直在使用它,並且效果很好。

INSERT INTO bar..tblFoobar( *fieldlist* )
SELECT *fieldlist* FROM foo..tblFoobar

這只是移動數據。 如果要移動表定義(以及其他屬性,例如權限和索引),則必須執行其他操作。

您嘗試的查詢邏輯似乎不正確(查詢本身有錯誤)。

假設您對上述邏輯有正確的查詢,並且您正在嘗試通過從productimages表中選擇一個具有匹配記錄作為stock.Name_of_item = productimages.number的列來將新行插入表stockstock.Name_of_item = productimages.number

上述邏輯會將冗余數據添加到表中。

您可能希望更新而不是插入,例如-

update stock s
join productimages p on p.number = s.Name_of_item
set s.Image = p.Image

暫無
暫無

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

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