我的mysql表中可能有180個條目。我仍然有許多行要插入,但我最終需要添加一個名爲「style」的附加列,它將有兩個選項。首先,我需要爲前幾百個參賽作品提供一個選項 - 接下來我需要複製除了選項2之外的相同參賽作品「style」。我最終的問題是如何快速複製這些行(最好是用一個簡單的查詢),以及如何複製這些相同的行,但使用不同的「樣式」選項。
謝謝mysql重複行並替換
1
A
回答
0
您可以使用insert-select語句。
如果只想複製行:
INSERT INTO mytable
SELECT *
FROM mytable
WHERE <some condition>
要使用不同的樣式複製:
INSERT INTO mytable
SELECT col1, col2, 'someString' AS style
FROM mytable
WHERE <some condition>
0
-- set first option on all rows
UPDATE mytable
SET style = 'first option' ;
如果你不這樣做單獨的INSERT和單獨的更新更容易;只需插入你想要的行。您可以在SELECT語句中爲style
提供文字值,並插入該值。
-- replicate to a second set of rows with different option
INSERT INTO mytable (a,b,c,style)
SELECT t.a, t.b, t.c, 'different option' AS style
FROM mytable t
WHERE t.style = 'first option' ;
否則,如果你複製行,包括style
,你需要區分它們之間的行更新,而這行不進行更新。 (問題中提供的信息不足以向您提供建議。)使用auto_increment id
列,您可以獲得id
列的最大值,執行insert ... select
,並再次獲取最大值。這會給你剛剛插入的行的id
值的範圍。
但是,只需按需要插入行,而不運行單獨的UPDATE,會更容易和更高效。
相關問題
- 1. MYSQL:合併重複行
- 2. 基於字符串重複行並替換新行的值
- 3. MySQL替換行
- 4. PHP - MySQL查找行並替換
- 5. MYSQL重複刪除重複行並刪除重複行數據最少
- 6. SAS替換重複值
- 7. XSLT替換重複文本
- 8. java替換重複字符
- 9. HashMap重複鍵替換java
- 10. 重複的MySQL行
- 11. PHP mysql重複行
- 12. 在Mysql中替換兩行
- 13. 用主鍵替換行mysql
- 14. 在MySQL查詢響應替換爲空重複值
- 15. 替換並進行比較
- 16. 運行選擇並替換
- 17. 複雜MySQL的加入與替換列
- 18. mysql複雜更新和替換
- 19. MySQL替代重複鍵更新
- 20. MySQL COUNT併合並重復記錄
- 21. 在訂單數組中查找重複值並替換
- 22. 查找並替換java中的重複項
- 23. 比較兩個數組並替換元素而不重複 - C++
- 24. 查找並替換數組中的重複項
- 25. 找到重複的列並將其替換爲計數
- 26. java陣列查找重複項並替換它們
- 27. C++檢查數組的重複項並替換它們
- 28. 插入重複密鑰並替換爲不工作
- 29. 查找並替換重複條目記事本++
- 30. 查找重複行並使用正則表達式刪除替換功能
基本上我想重複幾百行,然後更改這些行的特定列的值。 –
你的首要關鍵是autoincremental?你能否將你的表格的描述添加到問題中? – bugs2919
是的,我的主鍵是自動增量的。也許這將是一個很好的機會來向我描述如何包含我的表格的表示。我看到很多人這樣做:**************(對不起,這是如此模糊,但我希望你明白我的觀點)。 –