Visualizzazione risultati 1 fino 5 di 5

Discussione: query creazione tabella errata

  1. #1
    Guest

    Predefinito query creazione tabella errata

    Salve,
    Vorrei una informazione.
    ho creato questa query per interagire con il mio db con il fine di creare una tabella in esso.
    però, non capisco il perchè questa dia il seguente errore:
    Query fallita: 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 ''2' ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT ' at line 1

    tengo a sottolineare che il nome della tabella è un numero

    la query è:
    Codice PHP:
    $sql = "CREATE TABLE '". (string)$nome_nuova_tab."' (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )"
    ;
    grazie in anticipo

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,934

    Predefinito

    Elimina i singoli apici nel nome della tabella.

    Ciao!

  3. #3
    Guest

    Predefinito

    facendo così
    Codice PHP:
    $sql = 'CREATE TABLE ". (string)$nome_nuova_tab." (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )'
    ;
    non cambia nulla

    il nome della tabella è il risultato del numero delle tabelle nel db +1
    quindi ad esempio 2 (senza apici)

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,934

    Predefinito

    Se si tratta di un numero, devi usare l'accento grave ` (in generale puoi sempre usarlo per delimitare nomi in mysql, anche per le colonne)
    Codice PHP:
    $sql = 'CREATE TABLE `'. (string)$nome_nuova_tab.'` (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )'
    ;
    Comunque il cast a string non credo sia necessario, anzi...

    EDIT: qui la documentazione: https://dev.mysql.com/doc/refman/5.0...entifiers.html

    Ciao!
    Ultima modifica di alemoppo : 19-08-2015 alle ore 14.10.51

  5. #5
    Guest

    Predefinito

    ok funziona
    grazie mille

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •