PHP týden Letní akce
Pouze tento týden sleva až 80 % na kurzy PHP. Lze kombinovat s akcí Letní slevy na prémiový obsah!
Brno? Vypsali jsme pro vás nové termíny školení Základů programování a OOP v Brně!

Diskuze: SQLite INSERT INTO two TABLES

Aktivity (1)
Avatar
Michal Durik
Člen
Avatar
Michal Durik:6.10.2018 23:47

Čaute,
potreboval by som vložiť dáta len za pomoci jedného INSERTU do dvoch tabuliek.
V jednej mám : ID, FirstName, LastName, Email a prepojovací kľúč na druhú tabuľku.
V druhej : CityID, ZIP, CityName

Insertnúť mi treba FirstName, LastName, Email a CityName.

Cez Google som našiel len Subqueries ale neviem ako to v mojom prípade použiť.

Ďakuejm za radi.

Zkusil jsem: Google

 
Odpovědět 6.10.2018 23:47
Avatar
Odpovídá na Michal Durik
Michal Štěpánek:7.10.2018 9:53

Možná jsem na jiný sjezdovce, ale k čemu je dobré, snažit se to nacpat do jednoho insertu?

Nahoru Odpovědět  +1 7.10.2018 9:53
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Michal Durik
Člen
Avatar
Odpovídá na Michal Štěpánek
Michal Durik:7.10.2018 11:45

Lebo také mám zadanie :-) , UPDATE sa mi podaril, ale na INSERT mi to nefunguje.

 
Nahoru Odpovědět 7.10.2018 11:45
Avatar
Samuel Kodytek
Šéfredaktor
Avatar
Samuel Kodytek:7.10.2018 12:35

Nejde to. Insertem nemůžeš vložit do více než jedný tabulky, můžeš ale použít transakce:

BEGIN;
INSERT INTO users (username, password)
  VALUES('test', 'test');
INSERT INTO profiles (userid, bio, homepage)
  VALUES(LAST_INSERT_ID(),'Hello world!', 'http://www.stackoverflow.com');
COMMIT;

Zdroj: https://stackoverflow.com/…8713/5070552

Nahoru Odpovědět  +2 7.10.2018 12:35
There is more than one way to screw it
Avatar
Michal Durik
Člen
Avatar
Odpovídá na Samuel Kodytek
Michal Durik:7.10.2018 12:51

Ďakujem za odpoveď, tiež som nikde nenašiel že by sa to dalo, ale v zadaní mám jasne napísané že môžem použiť len jeden INSERT s pomocou Subqueries.

 
Nahoru Odpovědět 7.10.2018 12:51
Avatar
plelovsky
Člen
Avatar
plelovsky:9.10.2018 9:43

Kdo Ti to zadání dal a jak přesně zní?

 
Nahoru Odpovědět 9.10.2018 9:43
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na Michal Durik
Jirka Jr:9.10.2018 12:00

tak jediny, o cem vim je toto:

http://probertson.com/…-air-sqlite/

ale vyzaduje to navic vytvorit view a trigger a subqueries se tam nevyuzivaji

 
Nahoru Odpovědět 9.10.2018 12:00
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na Michal Durik
Jirka Jr:9.10.2018 12:13

btw neni nahodou zadani o insertu dat ze dvou tabulek pomoci subqueries?

 
Nahoru Odpovědět  +1 9.10.2018 12:13
Avatar
Michal Durik
Člen
Avatar
Odpovídá na plelovsky
Michal Durik:9.10.2018 18:12

Presse zadanie je:
Erfassen Sie mit einem INSERT Statement inkl. SUB-Select den Datensatz: Name: Gsponer; Vorname: Charly; email: cg@vs.ch; Ortsname Stalde.

Ortsname je v druhej tabuľke.
A treba mi to do školy.

 
Nahoru Odpovědět 9.10.2018 18:12
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na Michal Durik
Jirka Jr:9.10.2018 18:41

Jejda, to by chtělo zadat na itnetzwerk.de :-D

Mam dojem, že chtěj vytvořit insert, který vkládá jediný radek s odnotami, ktere tam pisou, jako kdybys tam měl třetí tabulku, do které se to vloží

A ten insert má na vložení použít subquery na ty dve tabulky tak, aby z nich vytáhl jen ten jeden řádek s uvedenejma hodnotama

tedy naznakem neco jako

Insert into treti_tabulka (sl1, sl2, sl3)
    select pt.sl1, pt.sl2, dt.sl3
    from prvni_tabuka as pt
    join druha_tabulka as dt on pt.cizi_klic=dt.primarni_klic
    where pt.name=... and dt.ortsname=...
 
Nahoru Odpovědět 9.10.2018 18:41
Avatar
Michal Durik
Člen
Avatar
Odpovídá na Jirka Jr
Michal Durik:9.10.2018 18:47

Presne 3 hodnoty mám vložiť do jednej tabulky a jednu do druhej za pomoci jednoho Insertu, ale zatiaľ sa mi to nepodarilo a ani spolužiakom.

 
Nahoru Odpovědět 9.10.2018 18:47
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na Michal Durik
Jirka Jr:9.10.2018 18:53

Tak to se obávám, že v sqlite se to nepodaří ani zadavateli, pokud nepoužije navic view a trigger

 
Nahoru Odpovědět 9.10.2018 18:53
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na Michal Durik
Jirka Jr:9.10.2018 18:54

Btw je použitej db engine skutečně SQLite?

 
Nahoru Odpovědět 9.10.2018 18:54
Avatar
Michal Durik
Člen
Avatar
Odpovídá na Jirka Jr
Michal Durik:9.10.2018 18:59

No vo štvrtok sa dozviem a hej DB je SQLite3.

 
Nahoru Odpovědět 9.10.2018 18:59
Avatar
plelovsky
Člen
Avatar
Odpovídá na Michal Durik
plelovsky:10.10.2018 9:35

No a nechtějí něco takového?

INSERT INTO t1 (FirstName, LastName, Email, CityID)
VALUES ('Charly', 'Gsponer', '[email protected]', (SELECT CityID FROM t2 WHERE CityName = 'Stalde'))
 
Nahoru Odpovědět 10.10.2018 9:35
Avatar
Michal Durik
Člen
Avatar
Michal Durik:11.10.2018 18:00

Ďakujem všetkým za ochotu a odpovede, ale nakoniec vysvitlo že to bolo zlé zadanie.

 
Nahoru Odpovědět 11.10.2018 18:00
Avatar
Jirka Jr
Člen
Avatar
Odpovídá na Michal Durik
Jirka Jr:12.10.2018 1:23

Tak hlavně, že to dobře dopadlo ;-)

 
Nahoru Odpovědět  +1 12.10.2018 1:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.