Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 80% výuky zdarma!
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
Avatar
Kuba5
Člen
Avatar
Kuba5:22.5.2013 21:15

Ahoj,

  1. potřebuji do tabulky (sloupce) vložit více záznamů najednou. Jedná se o čísla v řadě od třeba 2000 do 5000. Našel jsem, že by tohle měla dokázat fce while, šel jsem tedy do phpmyadmin a zkusil vložit tento kód:
CREATE PROCEDURE dowhile()
BEGIN
  DECLARE v1 INT DEFAULT 6100;

  WHILE v1 < 6177 DO
    INSERT INTO domestic (numbers) VALUES (v1);
    SET v1 = v1 + 1;
  END WHILE;
END;

Ale bohužel nelze...

Chyba

SQL-dotaz:

CREATE PROCEDURE dowhile( ) BEGIN DECLARE v1 INT DEFAULT 6100;

MySQL hlásí:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
  1. Btw. jde u C# proniknout do mysql podobně jako u PHP přes SQL Injection? Potřebuji to vědět, jestli mám používat databázi na mém VPS (ale mám na něm důležité soubory) nebo radši používat free webhosting.

Díky moc. :)

Editováno 22.5.2013 21:16
 
Odpovědět
22.5.2013 21:15
Avatar
matesax
Redaktor
Avatar
Odpovídá na Kuba5
matesax:22.5.2013 21:23

MySQL Provider

 
Nahoru Odpovědět
22.5.2013 21:23
Avatar
Kuba5
Člen
Avatar
Kuba5:22.5.2013 21:28

Já spojení funkční mám, myslel jsem hacknutí mysql.
Jinak to je ale vedlejší, teď bych potřeboval vyřešit první problém. :)

 
Nahoru Odpovědět
22.5.2013 21:28
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Kuba5
David Čápka:23.5.2013 8:54

Mně se zdá, že na to jdeš špatně. Pokud jsou čísla zasebou, stačí si někam ukládat poslední přidělené číslo. Proč mít proboha tolik čísel v DB?

Nahoru Odpovědět
23.5.2013 8:54
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Avatar
Kuba5
Člen
Avatar
Kuba5:23.5.2013 13:13

Tak jsem konečně přišel na metodu, která skvěle funguje:

DELIMITER ;;
CREATE PROCEDURE dowhile()
BEGIN
  DECLARE v1 INT DEFAULT 6100;
  WHILE v1 < 6177 DO
    INSERT INTO domestic (numbers) VALUES (v1);
    SET v1 = v1 + 1;
  END WHILE;
END;;
DELIMITER ;

Pak už jen zavolat dowhile.

 
Nahoru Odpovědět
23.5.2013 13:13
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 5 zpráv z 5.