![](/img/trans.png)
[英]mySql copy rows into same table with key value changed (not overwriting existing)
[英]MYSQL copy and increase existing rows
嗨,我有一個表allNews,該表具有150行,如下所示:newsID = autoInc:
newsID newsIDInt siteID catID title
31 1 3 4 Item 1
32 2 3 4 Item 2
uoto
180 150 3 4 Item 150
我需要復制到同一張表中,這樣的結果是
newsID newsIDInt siteID catID title
181 1 3 5 Item 1
182 2 3 5 Item 2
uoto
230 150 3 5 Item 150
即復制並將字段catID更改為5。
是否可以使用mysql腳本?
MrWarby
您可以插入表格並選擇所需的值(必要時進行調整):
INSERT INTO allNews
SELECT newsId + 150, newsIDInt, siteID,catID+1,title
FROM allNews
WHERE newsId BETWEEN 31 AND 180;
(盡管您可能希望具有自動增量功能,但請注意newsId字段)。
您可以避免指定newsID(如果它是自動遞增的),而將catID強制為5:
insert into allNews (newsIDInt, siteID, catID, title)
select newsIDInt, siteID, 5, title from allNews
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.