[mySQL] Duplikowanie rekordów w obrębie tabeli

0

Witam,

czy istniej zapytanie SQL pozwalające na zdublowanie rekordów w danej tabeli?
Chciałbym zrobić to optymalnie po stronie samej bazy (wiem, że mogę zrobić pętlę w np PHP, pobrać rekordy i je duplikować).

Interesują mnie 2 warianty:
a) kopiowanie całego rekordu przy czym zmiana miałaby dotyczyć tylko jednej rubryki (nowa wartość zdefiniowana przeze mnie)

b) wstawienie nowego rekordu i ustawienie tylko jednej wartości (pozostałe kolumny puste)

przykładowo mam bazę i tabelę z 20 rekordami. Chciałbym stworzyć kolejne 20 o identycznych wartościach ale różniące się tylko wartością jednego pola od oryginału

0

Chcesz stworzyć kolejne 20, ale o takiej samej wartości jednego pola tylko, że różnej od tego oryginalnego ?
Jeśli tak to możesz to zrobić INSERT INTO a SELECT kolumny(i tu wstawiasz sobie zmodyfikowaną wartość tej jednej kolumny) FROM A.

Jeśli za każdy razem ma być inna wartość to możesz napisać procedurę która przyjmie jako parametr id rekordu, a drugim będzie zmieniona wartość tej jednej kolumny,

1

ad.1 zakładajac że masz tabelę o nazwie t z kolumnami a, b i c i chcesz wstawić zmieniając wartości w a to

insert into t (a, b c)
select 'wartosc do podmiany w a', b, c from t

ad .2

insert into t (a)
values ('wartosc do a')

1 użytkowników online, w tym zalogowanych: 0, gości: 1