Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: kopiowanie rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
pepus88
Czy istnieje jakaś funckja mysql, która umożliwia skopiowanie juz istniejącego rekordu, tzn dodania rekordu który bedzie miał wartości poł takie same jak rekord który chce skopiować? Czy trzeba najpierw pobrac wszystkie pola do tablicy i normalnie dodać nowy rekord?
pepus88
Użyłem takiego zapytania "INSERT INTO baza SELECT * FROM baza WHERE nr='6'", i wszystko ładnie działa, tzn skopiował się rekord, tylko teraz kopiuje się również klucz podstawowy, a on przeciez musi byc unikalny, jak zrobic aby sam się on tworzył?
nospor
wpisz nazwy kolumn, oprócz id, a on sam se dopisze nowe id. Masz to w linku w przykladach.
Pozatym też możesz przyjrzeć się on duplicate key. tez jest w linku winksmiley.jpg
pepus88
Kurcze, męczyłem sie ale nie wiem nadal jak użyc tej funkcji ON DUPLICATE KEY UPDATE. Myślałem ze trzeba tego użyc w ten sposób:
Cytat
INSERT INTO szablony SELECT * FROM szablony WHERE nr='6' ON DUPLICATE KEY szablony.nr=szablony.nr

alo to niestety nie działa.
nospor
no mi tez cos nie dziala dry.gif

uzyj więc pierwszego sposobu. on dziala
  1. INSERT
  2. INTO szablony
  3. (pole1, pole2)
  4. SELECT pole1, pole2
  5. FROM szablony
  6. WHERE nr='6'

gdzie pole1, pole2 to wszystkie pola z tabeli, za wyjątkiem pola będącego kluczem (czyli chyba ID winksmiley.jpg )
ps: i uzywaj wlasciwego bbcode
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.