Autor | Zpráva | ||
---|---|---|---|
nethor Profil |
#1 · Zasláno: 28. 1. 2010, 10:48:05 · Upravil/a: nethor
Prosím o pomoc;
Potřebuji duplikovat komplet celý řádek databáze, jen s odlišným id. v MySQL nato bude určitě jednoduchý přikaz, jen nemohu přijít na to jaký. Něco jako INSERT INTO `databaze`.`tabulka` SELECT * FROM `databaze`.`tabulka` WHERE id = 1; Jen z toho vynechat id. (#1062 - Duplicate entry '1' for key 1 ) |
||
Kacko Profil |
#2 · Zasláno: 28. 1. 2010, 11:01:56
INSERT INTO `databaze`.`tabulka` (sloupec1,sloupec2) VALUES( SELECT sloupec1,sloupec2 FROM `databaze`.`tabulka` WHERE id = 1); Proc chcete mit v jedne tabulce dva shodne zaznamy? |
||
nethor Profil |
#3 · Zasláno: 28. 1. 2010, 11:39:43
Kacko:
„Proc chcete mit v jedne tabulce dva shodne zaznamy?“ To není důležité. (dílčí záležitost) sloupec1,sloupec2 .. je dost krkolomné , sloupců je tam asi 20 . Určitě existuje elegantnější řešení. |
||
Kacko Profil |
#4 · Zasláno: 28. 1. 2010, 11:52:11
nethor:
Tak schvalne kdo prijde s necim elegantnejsim a rychlejsim na zpracovani(ON DUPLICATE nepovazuji za elegantnejsi, navic nelze pouzit vsude). Narazim na to, ze 2 shodne zaznamy v 1 tabulce (navic pokud ma 20 sloupcu) mi prijde jako plytvani.. |
||
panther Profil |
#5 · Zasláno: 28. 1. 2010, 11:52:49
nethor:
„Určitě existuje elegantnější řešení.“ buď * pro všechny nebo je vypsat. Jiné možnosti nejsou. |
||
nethor Profil |
#6 · Zasláno: 28. 1. 2010, 13:26:42
.. No ten script má usnadnit práci při vkládání podobných záznamů.
Takže to plýtvání není, ale to není podstatné. INSERT INTO `databaze`.`tabulka` (sloupec1,sloupec2) VALUES( SELECT sloupec1,sloupec2 FROM `databaze`.`tabulka` WHERE id = 1); hází syntax error ... near 'SELECT `id_str`, `priorita ... myslím, že tam nemá být values při vypsání více než jednoho sloupce zase Operand should contain 1 column(s) tak nevim. |
||
Kajman_ Profil * |
#7 · Zasláno: 28. 1. 2010, 13:43:16
Ano u insert select sytnaxe values nejsou. Stačí kliknout na insert, tam je to popsáno.
|
||
Kacko Profil |
#8 · Zasláno: 28. 1. 2010, 14:43:06
Kajman, nethor:
Moje chyba, omlouvam se. |
||
nethor Profil |
#9 · Zasláno: 28. 1. 2010, 16:11:08
Jo jde to takto:
INSERT INTO `tabulka` SELECT NULL , `id_odst`, `priorita`, `alt`, `max`, `min`, `zobrazovat`, `miniatura` FROM `tabulka` WHERE id = 1 Aspoň, že se to nemusí vypisovat 2x Stejně by se hodil zápis vyber všechny kromě uvedených něco jako SELECT *(!`id`) FROM `tabulka` Fakt nic takového neexistuje? |
||
Časová prodleva: 14 let
|
0