Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di ravint
    Registrato dal
    Jul 2000
    Messaggi
    332

    mysql campo _id primary

    Nel Pack di Os commerce c'e' un file che ultimamente mi sta dando dei problemi di visualizzazione del sito.

    Il file si chiama whos_online, questo file ha una tabella con lo stesso nome nel dbmysql con 7 campi.
    Tra questi c'e' il Primary: customer_id, in questo campo viene scritto in modo progressivo un numero che parte da 0.

    Quando qualcuno si connette la sua connessione si scrive su quella tabella e se è l'unico utente inizia con zero, non appena si connette un altro utente il sito non è piu' visibile, e appare questo errore:

    1062 - Duplicate entry '0' for key 1

    insert into whos_online (customer_id, full_name, session_id, ip_address, time_entry, time_last_click, last_page_url) values ('0', 'Guest', 'edcf105cbabb9d5f4e4fe72448b2c7b1', '81.208.106.68', '1220729477', '1220729477', '/')

    [TEP STOP]


    Se vado in mysql e cambio lo zero nel campo customer_id in 1 oppure un altro numero il sito diventa visibile.....
    Perche questo????

    E possibile fare in modo che la numerazione parta da 1 e non da zero???
    grazie
    ciao

  2. #2
    se il campo e' auto increment non devi mettere alcun valore ma inserire NULL (senza apici). Inoltre autoincrement inizia da 1.

    codice:
    insert into whos_online 
    (customer_id, full_name, session_id, ip_address, time_entry, time_last_click, last_page_url)
    values 
    (NULL, 'Guest', 'edcf105cbabb9d5f4e4fe72448b2c7b1', '81.208.106.68', '1220729477', '1220729477', '/')

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

  3. #3
    Utente di HTML.it L'avatar di ravint
    Registrato dal
    Jul 2000
    Messaggi
    332
    la tabella e cosi composta:

    create table whos_online (
    customer_id int(11) default '0' not null ,
    full_name varchar(64) not null ,
    session_id varchar(128) not null ,
    ip_address varchar(15) not null ,
    time_entry varchar(14) not null ,
    time_last_click varchar(14) not null ,
    last_page_url varchar(64) not null ,
    PRIMARY KEY (customer_id)
    );


    la trasformo cosi:

    CREATE TABLE `whos_online` (
    `customer_id` int(11) NOT NULL auto_increment,
    `full_name` varchar(64) NOT NULL default '',
    `session_id` varchar(128) NOT NULL default '',
    `ip_address` varchar(15) NOT NULL default '',
    `time_entry` varchar(14) NOT NULL default '',
    `time_last_click` varchar(14) NOT NULL default '',
    `last_page_url` varchar(64) NOT NULL default '',
    PRIMARY KEY (`customer_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

  4. #4
    ma sei certo che customer_id sia "solo" la primary key e non anche il riferimento ad una tabella customer? ... Intendo dire. customer_id vive di vita propria oppure e' legato in relazione anche ad altra tabella?

    se vive per conto suo metti NULL al posto di '0' ed hai risolto.

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

  5. #5
    Utente di HTML.it L'avatar di ravint
    Registrato dal
    Jul 2000
    Messaggi
    332
    infatti cosi funziona......

    sei stato molto gentile grazie per la dritta

    ciaooo

  6. #6
    Utente di HTML.it L'avatar di ravint
    Registrato dal
    Jul 2000
    Messaggi
    332
    ho parlato troppo presto.....


    ero dentro il sito e mi ha messo come customer_id 4
    poi è entrato un altro utente e lo ha messo come customer_id 0

    ma cavolo il sito è andato nuovamente in palle....

    Ora, siccome ci altri due tabelle Visitors e Visitor Trace e in queste c'e' il campo customer_id ho provato a mettere anche in queste auto increment ma mi ha ridato questo errore:

    Errore
    query SQL:

    ALTER TABLE `visitors_trace` CHANGE `customers_id` `customers_id` INT( 11 ) NULL AUTO_INCREMENT

    Messaggio di MySQL:

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



  7. #7
    secondo me stai impallando tutto il database.

    Evidentemente quel customer_id e' un riferimento al customer utilizzato in svariati momenti che si riferiscono ad un preciso utente. In altre parole: customer_id e' il campo di unione tra una possibile tabella customer (o user) e le altre e non va scritto a caso.

    Bisogna riferirsi a tutta la struttura del database ed agli script di gestione per fare qualsiasi modifica. Quindi alla struttura originale del programma.

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

  8. #8
    Utente di HTML.it L'avatar di ravint
    Registrato dal
    Jul 2000
    Messaggi
    332
    Forse diciamo la stessa cosa ( se non fosse cosi spiegami meglio).

    ho scoperto che nelle altre tabelle VISITOR e VISITOR TRACE, rimangono appunto le tracce di chi entra... e quando rientra si riprende il numero del precedente id quindi ora ho eliminato tutti quelli che avevano il numero 0 in ogni tabella....

    secondo me dovrei aver risolto..... faccio delle prova... bho non so

  9. #9
    scusa ma mi pare di capire che quando entra un tizio ti fà un alter table.. a che scopo devi modificare la struttura della tabella?

    Non è che vuoi fare un update?
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  10. #10
    Utente di HTML.it L'avatar di ravint
    Registrato dal
    Jul 2000
    Messaggi
    332
    Originariamente inviato da djhell
    scusa ma mi pare di capire che quando entra un tizio ti fà un alter table.. a che scopo devi modificare la struttura della tabella?

    Non è che vuoi fare un update?
    no non modifica la tabella.... registra la sua traccia

    non non devo fare un update, da che cosa poi???

    o forse non ho capito cosa vuoi intendere.....

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 © 2024 vBulletin Solutions, Inc. All rights reserved.