• User

    msql database

    ciao a tutti sto creando un database msql e ho questo problemino...:(premetto che e' il mio primo database)Praticamente mi da questo errore:

    CREATE TABLE banner_imp (
    banner_id INT( 4 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
    count INT( 5 ) UNSIGNED NULL DEFAULT '0',
    click_date DATE NOT NULL DEFAULT '0000-00-00',
    banner_id,click_date VARCHAR( 10 ) NULL ,
    PRIMARY KEY ( banner_id,click_date )
    ) TYPE = MYISAM

    Messaggio di MySQL: Documentazione
    #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

    il mio risultato giusto in base allo script pronto che ho dovrebbe essere questo:

    CREATE TABLE banner_imp (
    banner_id int(4) unsigned NOT NULL auto_increment,
    count int(5) unsigned default '0',
    click_date date NOT NULL default '0000-00-00',
    PRIMARY KEY (banner_id,click_date)
    ) TYPE=MyISAM;

    Se potete darmi una dritta ve ne sare molto grato,altrimenti..:strippo!!!ciao grazie


  • Super User

    Puoi dichiarare una sola primary key, tu stai tentando di metterne due


  • User

    intanto gorca ..grazie mille ,mi sapresti indicare come buttarla giu nella cartella del database:o,per avere il risultato che vedi nel secondo esempio...??

    io creo una nuova tabella denominata" banner_imp"con 4 campi :giusto!! poi

    member_id varchar (50) binary NOT NULL
    banner_id int (4) unsigned NOT NULL default 0
    click_date date NOT NULL default 0000-00-00

    il problema e' questa striga qua ,come la devo indserire nelle varie colonne per averla come nell primo esempio

    PRIMARY KEY (member_id,banner_id,click_date)


  • Super User

    Mi sono spiegato male
    In Primary Key puoi definire solo un campo

    Ad esempio: PRIMARY KEY (member_id);


  • User

    si ma se io inserisco

    **campo ** ** tipo lunghezza collocation attributi null pred.. extra
    **(banner_id) ..... ...... ...... ..... ... ... ....

    ad esempio nela colonna tipo cosa devo mettere ...e alla fine spunto chiave principale ..giusto??

    se metto solo un campo e spunto chiave principale mi chiede di inserire un numero nel terzo campo"lunghezza" perche nel secondo mi rimane di defult VARCAR


  • User Attivo

    @alver said:

    Messaggio di MySQL: Documentazione
    #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key

    Se ricordo bene, AUTO_INCREMENT è ammesso solo come colonna secondaria di una chiave.

    Prova così:

    
    CREATE TABLE banner_imp (
    banner_id int(4) unsigned NOT NULL auto_increment,
    count int(5) unsigned default '0',
    click_date date NOT NULL default '0000-00-00',
    PRIMARY KEY (click_date,banner_id)
    ) ENGINE=MyISAM;
    
    

    Non ho modo di provarlo, potrebbe non funzionare...fammi sapere 🙂


  • User Attivo

    ma non si scrive "auto increment" al posto di "auto_increment"?