Чтобы скопировать данные вместе с изменяющимися значениями, используйте:
INSERT INTO table1 (user, name)
SELECT user+1, name FROM table1
WHERE user = 1103;
Вот сценарий sql перед выполнением вышеуказанного оператора: http://sqlfiddle.com/#!9/e6647e/1
И sql fiddle после выполнения: http://sqlfiddle.com/#!9/8e7f78/2
Вывод:
| user | name |
|------|------|
| 1103 | rack |
| 1102 | tabs |
| 1103 | aki |
| 1104 | rack |
| 1104 | aki |
Теперь вы можете поиграть со своими предыдущими записями (1103
), как хотите, так как они не повлияют на вновь созданные значения (1104
). Например, вы можете использовать:
UPDATE table1 SET name = 'rack-edited' WHERE user = 1103 and name = 'rack';
Вот сценарий sql после обновления: http://sqlfiddle.com/#!9/c1813c/1
И вывод:
| user | name |
|------|-------------|
| 1103 | rack-edited |
| 1102 | tabs |
| 1103 | aki |
| 1104 | rack |
| 1104 | aki |