Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema insermento mySql su dati int

    Salve a tutti, avrei un problema su mysql.
    In pratica provo a fare una insert in una tabella che ha 3 campi, un contatore e 2 int(11)
    e mi va in errore. Cioè fa inserimento ma poi mi danneggia la tabella.

    Vi allego img per farvi capire.
    Si vede la tabella autors_pages_relations con i campi e la query.
    E poi il box dell'errore. Fa la stessa cosa se provo a fare insert da codice php.
    Qualcuno mi aiuta ?
    Grazie
    Immagini allegate Immagini allegate

  2. #2
    Se la insert ti va in errore dovresti postare l'errore.

    Se la tabella e' corrotta prova con repair table autors_pages_relations

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

  3. #3
    Il problema è proprio questo. Ne da comando mysql su sqlYog ne da codice php ricevo errori.
    Anzi mi risultano le righe inserite, sia da sqlYog sia dai vari comandi php affected_rows ecc.

    Ma quando vado a visualizzare i dati della tabella mi dice:
    "Table 'autors_pages_relations' is marked as crashed and should be repaired"

    La riparo e dopo mi svuota i dati inseriti e mi vede la tabella senza dati.
    Ma se ripeto la query rifà la stessa cosa...

    Ma se metto i due campi id_autore e id_rubrica da int a char su mySql, tutto funziona regolarmente.
    La query è scritta bene anche perchè banale....
    INSERT INTO autors_pages_relations (id_autore,id_rubrica) VALUES (11,1);
    Ma non funge....
    Per ora ho risolto cambiando il tipo di dato, ma non ho risolto il vero problema e capito il perchè dell'errore.

  4. #4
    Questo è il file di log degli eventi a seguito della query:

    Executed SQL Statement : select * from `marigliano`.`autors_pages_relations` limit 0, 50
    Error Number : 1194
    Error Message: Table 'autors_pages_relations' is marked as crashed and should be repaired

  5. #5
    Strana cosa. Prova ad eliminare la tabella ed a crearla nuovamente.

    Eventualmente prova anche a riparare le altre tabelle del database. Il tipo di campo dovrebbe essere lo stesso che e' presente nei riferimenti delle altre tabelle. Poi anche una domanda: di che tipo e' l'engine, MyISAM o InnoDB?

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

  6. #6
    Le tabelle sono myIsam. Ma credo di aver risolto Piero....
    Ho fatto una prova della stessa query su un altro db mysql (5.1.41) e va tutto bene.
    Il problema si verificava solo su una versione 5.0.45, forse un bug risolto sulle versioni successive. Non ci avevo pensato proprio a questa cosa perchè era assurda....

    In pratica funzionava sulla versione precedente solo se c'era almeno un campo varchar nella tabella, altrimenti nada....

    Sto migrando il database server di sviluppo alla 5.1.41 che adesso avevo sulo sul notebook
    dove a seguito delle prove tutto funziona bene.
    Vediamo che succede.
    Ciao

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.