Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Vytvoření databáze když neexistuje

Aktivity
Avatar
Verquido
Tvůrce
Avatar
Verquido:24.4.2016 14:04

Hledal sem na internetu a nemůžu najít nic co by vypadalo funkčně.. Potřeboval bych nějakou podmínku aby se zjistilo jestli existuje tabulka v databázi a když neexistuje tak jí vytvořit. Díky :)

 
Odpovědět
24.4.2016 14:04
Avatar
Odpovídá na Verquido
Neaktivní uživatel:24.4.2016 14:12

pouziva se neco jako: CREATE TABLE table_name IF NOT EXIST

Nahoru Odpovědět
24.4.2016 14:12
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:24.4.2016 14:18

edit: (protoze ten limit je na me proste kratkej)

CREATE TABLE IF NOT EXISTS table_name

Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět
24.4.2016 14:18
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Verquido:24.4.2016 14:30
CREATE TABLE IF NOT EXIST table_name
(
id int AUTO_INCREMENT,
name varchar(255),
password varchar(255),
PRIMARY KEY (id);
);

Takže třeba tak nějak? :)

 
Nahoru Odpovědět
24.4.2016 14:30
Avatar
Odpovídá na Verquido
Neaktivní uživatel:24.4.2016 14:41

Ja verim, ze ano... zkus a kdyztak sdel dojmy :)

Nahoru Odpovědět
24.4.2016 14:41
Neaktivní uživatelský účet
Avatar
mixxy
Člen
Avatar
mixxy:24.4.2016 15:01

Bacha na syntax: if not existS

Nahoru Odpovědět
24.4.2016 15:01
Neni dulezite mnoho vedet a znat. Dulezite je vedet, co je treba.
Avatar
Odpovídá na mixxy
Neaktivní uživatel:24.4.2016 15:03

to je fakt, ja presne tuhle chybu editoval v druhem prispevku

Nahoru Odpovědět
24.4.2016 15:03
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:24.4.2016 15:10
public static function connect($host, $user, $pass, $database)
    {
        if (!isset(self::$connection))
        {
            try
            {
                self::$connection = new PDO("mysql:host=$host;dbname=$database", $user, $pass, self::$settings);

                $create_table = 'CREATE TABLE IF NOT EXIST users
                (
                user_id int (5) AUTO_INCREMENT,
                name varchar(255),
                password varchar(255),
                PRIMARY KEY (user_id);
                )';
                self::$connection->exec($create_table);

            }


            catch(PDOexception $e)
            {
                echo('Connection fail: ' . $e->getMessage());
            }

        }
    }

Connection fail: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'EXIST table_name ( user_id int (5) AUTO_INCRE' at line 1

Nefunguje to. Nevím proč :(

 
Nahoru Odpovědět
24.4.2016 15:10
Avatar
Nahoru Odpovědět
24.4.2016 15:18
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá na Verquido
Neaktivní uživatel:24.4.2016 15:36

je tam if not exist ma tam byt existS (Mixxy na to upozornil, a ja jsem stejnou chybu udelal v prvnim prispevku... ve druhem jsem se opravil, ale to uz asi bylo pozde)

Nahoru Odpovědět
24.4.2016 15:36
Neaktivní uživatelský účet
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
Verquido:24.4.2016 16:23

Já sem si toho vůbec nevšiml. Sem zbrklej.. Díky moc :) všem

 
Nahoru Odpovědět
24.4.2016 16: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 11 zpráv z 11.