Vytvoření dočasné tabulky, C API MySQL – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Vytvoření dočasné tabulky, C API MySQL – MySQL – Fórum – Programujte.comVytvoření dočasné tabulky, C API MySQL – MySQL – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
15. 8. 2014   #1
-
0
-

Ahoj,

pro připojení k MySQL používám C API. Pro provedení SQL query používám funkci mysql_real_query. Při provádění select nebo volání uložené procedury vše proběhne bez problémů, ale při vytváření dočasné tabulky funkce vrátí 1.  

create temporary table if not exists teta (z datetime, k datetime, primary key (z))

Zkoušel jsem změnit název tabulky, bez klauzule primary key. Nic nepomohlo   

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:9435:6b...–
KIIV
~ Moderátor
+43
God of flame
15. 8. 2014   #2
-
0
-

a co chybova hlaska?

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
15. 8. 2014   #3
-
0
-

mysql_error vrátí Commands out of sync; You can´t run this command now.

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:9435:6b...–
KIIV
~ Moderátor
+43
God of flame
15. 8. 2014   #4
-
0
-
Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
15. 8. 2014   #5
-
0
-

1. zkusil jsem ten samý příkaz provést v MySQL Workbench pod stejným uživatelem a proběhl OK

2. podle dokumentace u provádění jednotlivých příkazů nemá být na konci středník, proto ho tam nemám. ( http://dev.mysql.com/doc/refman/5.6/en/mysql-real-query.html )

3. zkusil jsem provést tento příkaz jako první po spuštění programu, proběhl úspěšně.

Asi tam něco zůstane po selectu viset.

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:9435:6b...–
Řešení
15. 8. 2014   #6
-
0
-
Vyřešeno Nejlepší odpověď

Děje se to vždy po volání uložené procedury. Až když jsem v zoufalství otevřel kapitolu "23.8.17 C API Support for Multiple Statement Execution", narazil jsem na nenápadnou větu:

Multiple-result processing also is required if you execute CALL statements for stored procedures.

Tady je zakopaný pes.

hu

Nahlásit jako SPAM
IP: 2001:67c:1222:800:9435:6b...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Dočasné tabulky — založil RobinHood

Zjistit velikost dočasné tabulky — založil hlucheucho

Funkce na vytvoření tabulky — založil matous

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý