Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Dump di una tabella

  1. #1
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251

    Dump di una tabella

    non risco a fare il dump di questa tabella
    secondo voi cosa c'è che non va

    CREATE TABLE core_pflow_list (
    flow_id int(11) NOT NULL auto_increment,
    flow_code varchar(20) default NULL,
    default TINYINT(1) NOT NULL default '0',
    ord int(11) NOT NULL default '0',
    PRIMARY KEY (flow_id)
    ) TYPE=MyISAM;


    INSERT INTO core_pflow_list VALUES (1, 'pub_onestate', 1, 1);
    INSERT INTO core_pflow_list VALUES (2, 'pub_twostate', 1, 2);
    l'errore che phpmyadmin mi dà è questo:

    #1064 - You have an error in your SQL syntax near 'default TINYINT(1) NOT NULL default '1',
    ord int(11) NOT NULL default '0',
    ' at line 4

  2. #2
    default e' una parola riservata, meglio non usare queste parole riservate anche se e' possibile farlo lo stesso con i backtick o come si chiamano (alt +96)

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251
    grazie per la risposta

    scusa ma io non ci capisco molto di db mysql
    secondo te che sintassi dovrei usare

  4. #4
    Originariamente inviato da viper
    grazie per la risposta

    scusa ma io non ci capisco molto di db mysql
    secondo te che sintassi dovrei usare
    cambia il nome "default" (inglese/francese) in "defotte" (siciliano) e vedrai che funziona tutto.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251
    era una battuta...
    forse l'ho capita lentamente

    cmq devo levare default allora

  6. #6
    Originariamente inviato da viper
    era una battuta...
    forse l'ho capita lentamente

    cmq devo levare default allora

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251
    niente ho provato ma non funziona

    strano sulle altre tabelle c'è il default ma non dà errore

    boh

  8. #8
    Originariamente inviato da viper
    niente ho provato ma non funziona

    strano sulle altre tabelle c'è il default ma non dà errore

    boh
    va be' spieghiamolo meglio. Osserva queste due righe:

    codice:
    flow_code varchar(20) default NULL,
    default TINYINT(1) NOT NULL default '0',
    come puoi vedere nella prima riga trovi la parola "default" nei parametri di flow_code e questo e' il motivo per cui mysql si riserva la parola. E' una peculiarita' del campo.

    nella seconda riga default e' messo anche come nome di campo. Questo provoca confusione a mysql e dichiara un errore di sintassi. Vede cioe' una istruzione senza riferimento ad alcun campo.

    Ora hai due possibilita':

    1) la piu' logica e la 'piu' meglio' cambiare il nome del campo default in qualcosa d'altro
    2) mettere il nome di campo nel seguente modo: `default` tra apici inverse.

    la soluzione 2 comporta di dovere "sempre" mettere il nome del campo tra quei cosi buffi che sono le apici inverse, o accenti, o ALT + 96.... e questo in tutte le query. come dire un rompimento inutile di marroni. Quindi insisterei sul cambiare il nome del campo. Poi tu fai come vuoi.

    non confonderti solo default tra il nome del campo e l'istruzione .

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente bannato
    Registrato dal
    Oct 2004
    Messaggi
    251
    adesso ho capito quasi perfettamente

    certo per logica meglio usare la soluzione 1
    grazie

    chissa se cambiando il nome del campo dovrò anche cambiare qualche variabile sul codice php delle pagine

  10. #10
    se si tratta di uno script che hai preso da qualche parte assicurati che sia anche compatibile con register_globals in off.

    Ovviamente non puoi usare "default" nei nomi di campo delle queries, ma nessuno ti vieta di usarlo come variabile per inserire un valore.


    es.:

    $default = 'pippo';
    .. where campo = '$default' ..oppure set campo = '$default'

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.