Autor Zpráva
Scrand
Profil *
Zdravím,

mám 2 tabulky zakladni a docasna. Pomocí příkazu zjistím, které položky v tabulce docasna jsou navíc.
 SELECT * FROM docasna WHERE id NOT IN (SELECT id FROM zakladni) AND vyrobce = 'bcc405486b625cb2ff867f34aa53643f' 


A nyní bych chtěl ty položky navíc zkopírovat z tabulky docasna do tabulky zakladni.

Zkoušel jsem toto, ale vypisuje mi to chybu:
insert into zakladni SELECT * FROM docasna WHERE id NOT IN (SELECT id FROM zakladni) AND vyrobce = 'bcc405486b625cb2ff867f34aa53643f'


chyba:
#1136 - Column count doesn't match value count at row 1


Děkuji za rady! Prolezl jsem plno fór a všeho, ale prostě nevím, možná že to i blbě hledám...
TomášK
Profil
Scrand:
Postup je dobrý, jen je potřeba ošetřit tu chybu. Zdá se mi samovysvětlující, ale zřejmě není. Tak tedy počet sloupců, které vkládáte (tj. počet sloupců v tabulce zakladni) neodpovídá počtu sloupců, které chcete vložit (tj. výsledek selectu, což je počet sloupců v tabulce docasna). Je lepší přesně specifikovat co a kam, vyhnete se chybám při změně tabulek:
INSERT INTO zakladni(hodnota1, hodnota2) SELECT hodnota1, hodnota2 FROM ...
Scrand
Profil *
Díky, funguje, no já jsem to i takhle zkoušel, ale pravděpodobně jsem udělal stejně ještě nějakou chybu a proto mi to předtím nešlo :D

ještě jednou díky! :)
Scrand
Profil *
Tak teď jsem navíc zjistil, že mám blbě vytvořenej ten select pro výběr :(

Mám 2 tabulky

TAB 1         TAB2
1               1
2               4
3
4
5


Potřebuji vybrat z TAB 1 řádky které nejsou v TAB2 tedy 2, 3 a 5 ten můj původní SELECT je asi udělanej úplně blbě :)

Děkuji za rady...
Kajman_
Profil *
Scrand:
ten můj původní SELECT je asi udělanej úplně blbě
Pokud zakladni=TAB2 a docasna=TAB 1, tak vypadá korektně.
Scrand
Profil *
No já to tu zjednodušil, ve skutečnosti to potřebuju

1. Vše z TAB1 co není v TAB2
2. Vše z TAB2 co není v TAB1

Ta druhá možnost funguje, ale u té první mi to nějak nejede :D vybere to pouze 221 záznamů, přitom by to mělo vybrat asi něco přes 1600 :)

stačí je prohodit názvy tabulek ne?
Scrand
Profil *
Tak to je dost divný :) mám tam 3 sloupce s unikátním ID, ale každé se chová jinak! Tam kde je index, tak to nefunguje korektně, ale tam kde index není, tak to funguje správně, tak to jsem z toho jelen! :)
Kajman_
Profil *
Scrand:
stačí je prohodit názvy tabulek ne?

Pokud tam používáte nějaké to omezení na výrobce, tak to nemusí stačit.

Vytvořte spustitelný příklad dat a dotazů, které Vás zlobí.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0