• User Attivo

    Non ci sono problemi di incompatibilita per il passaggio da MySQL v4 a v5.
    I tool per eseguire i dump del DB sono numerosi, uno molto utilizzato è phpMyAdmin, altrimenti puoi usare i comandi di sistema:

    Esporta:
    mysqldump -p --opt nomedb > dump.sql

    Importa:
    mysqladmin -p drop nomedb
    mysqladmin -p create nomedb
    mysql -p -D nomedb < dump.sq

    Ciao!


  • User Newbie

    Scusami l'host vecchio mi mette a disposizione

    Versione MySQL: 4.00.24

    Versione PHP: 4.3.5

    phpMyAdmin MySQL-Dump

    version 2.2.6

    Quindi faccio l'esportazione struttura e dati e poi l'importo sul nuovo server che invece ha

    -- phpMyAdmin SQL Dump
    -- version 3.1.2
    -- Versione MySQL: 5.0.67
    -- Versione PHP: 5.2.8

    Alcune tabelle le importa senza problemi altre invece mi da il seguente errore

    Errore

     **query SQL:**     
              # --------------------------------------------------------
    

    Struttura della tabella fok_acajoom_stats_details

    CREATE TABLE fok_acajoom_stats_details(id int( 11 ) NOT NULL AUTO_INCREMENT ,
    mailing_id int( 11 ) NOT NULL default '0',
    subscriber_id int( 11 ) NOT NULL default '0',
    sentdate datetime NOT NULL default '0000-00-00 00:00:00',
    html tinyint( 1 ) NOT NULL default '0',
    READ tinyint( 1 ) NOT NULL default '0',
    PRIMARY KEY ( id ) ,
    UNIQUE KEY sub_mail( mailing_id, subscriber_id )
    ) TYPE = MYISAM ;

      **Messaggio di MySQL: ** 
    

    #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 'read tinyint(1) NOT NULL default '0',
    PRIMARY KEY (id),
    UNIQUE KEY sub_ma' at line 7

    E non so francamente dove mettere le mani.


  • User Attivo

    Prova questa modifica:

    ...
    sentdate datetime NOT NULL default '1000-01-01 00:00:00'
    ...

    Il range di datatime va da '1000-01-01 00:00:00' a '9999-12-31 23:59:59'.
    Oppure prova con ENGINE = MyISAM;
    Altra cosa, cancella i commenti con # e utilizza --


  • User Newbie

    **continua a darmi
    **

    Errore

     **query SQL:**     
              -- --------------------------------------------------------
    

    --
    -- Struttura della tabella fok_acajoom_stats_details

    CREATE TABLE fok_acajoom_stats_details(id int( 11 ) NOT NULL AUTO_INCREMENT ,
    mailing_id int( 11 ) NOT NULL default '0',
    subscriber_id int( 11 ) NOT NULL default '0',
    sentdate datetime NOT NULL default '1000-01-01 00:00:00',
    html tinyint( 1 ) NOT NULL default '0',
    READ tinyint( 1 ) NOT NULL default '0',
    PRIMARY KEY ( id ) ,
    UNIQUE KEY sub_mail( mailing_id, subscriber_id )
    ) TYPE = MYISAM ;

      **Messaggio di MySQL: ** 
    

    #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 'read tinyint(1) NOT NULL default '0',
    PRIMARY KEY (id),
    UNIQUE KEY sub_ma' at line 10


  • User Attivo

    Ciao,

    READ viene interpretato non come un nome di colonna, ma come una parola chiave di MySql e genera quindi l'errore.
    Edita il file sql e usa i backquotes per identificare la colonna:

    
    `read`
    
    

    Alessandro


  • User Newbie

    NON CAPISCO
    DI SEGUITO IL TESTO DELLA TABELLA DIMMI LA SOSTITUZIONE DA FARE QUAL'E'

    --
    -- Struttura della tabella fok_acajoom_stats_details

    CREATE TABLE fok_acajoom_stats_details (
    id int(11) NOT NULL auto_increment,
    mailing_id int(11) NOT NULL default '0',
    subscriber_id int(11) NOT NULL default '0',
    sentdate datetime NOT NULL default '1000-01-01 00:00:00',
    html tinyint(1) NOT NULL default '0',
    read tinyint(1) NOT NULL default '0',
    PRIMARY KEY (id),
    UNIQUE KEY sub_mail (mailing_id,subscriber_id)
    ) TYPE=MyISAM;

    GRAZIE


  • User Attivo
    
    CREATE TABLE fok_acajoom_stats_details (
    id int(11) NOT NULL auto_increment,
    mailing_id int(11) NOT NULL default '0',
    subscriber_id int(11) NOT NULL default '0',
    sentdate datetime NOT NULL default '1000-01-01 00:00:00',
    html tinyint(1) NOT NULL default '0',
    `read` tinyint(1) NOT NULL default '0',
    PRIMARY KEY (id),
    UNIQUE KEY sub_mail (mailing_id,subscriber_id)
    ) TYPE=MyISAM;
    
    

  • User Newbie

    oK GRANDE ADESSO HO UN'ALTRA TABELLA

    Errore

     **query SQL:**     
              -- --------------------------------------------------------
    

    --
    -- Struttura della tabella fok_components

    CREATE TABLE fok_components(id int( 11 ) NOT NULL AUTO_INCREMENT ,
    name varchar( 50 ) NOT NULL default '',
    link varchar( 255 ) NOT NULL default '',
    menuid int( 11 ) unsigned NOT NULL default '0',
    parent int( 11 ) unsigned NOT NULL default '0',
    admin_menu_link varchar( 255 ) NOT NULL default '',
    admin_menu_alt varchar( 255 ) NOT NULL default '',
    OPTION varchar( 50 ) NOT NULL default '',
    ordering int( 11 ) NOT NULL default '0',
    admin_menu_img varchar( 255 ) NOT NULL default '',
    iscore tinyint( 4 ) NOT NULL default '0',
    params text NOT NULL ,
    enabled tinyint( 4 ) NOT NULL default '1',
    PRIMARY KEY ( id ) ,
    KEY parent_option( parent, OPTION ( 32 ) )
    ) TYPE = MYISAM ;

      **Messaggio di MySQL: ** 
    

    #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 'option varchar(50) NOT NULL default '',
    ordering int(11) NOT NULL default '0'' at line 12


  • User Attivo

    E' lo stesso tipo di errore. non puoi usare nomi di colonne che corrispondono a parole chiave di MySql. Per farlo devi inserire il nome tra i backquotes come per READ nel caso precedente.
    Il messaggio di errore ti segnala perfettamente qual è il campo della tabella "incriminato": in questo caso è option.

    Per evitare di dover correggere ogni tabella a mano, genera il file di backup con i backquotes già inseriti aggiungendo l'opzione --quote-names a mysqldump:

    
    mysqldump -p --opt --quote-names nomedb > dump.sql
    
    

    Alessandro


  • User Newbie

    Grazie ho risolto tutto come hai detto tu.
    Non so come ringraziarti ma ti ringrazio.
    Ciao