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

    [MySql] Errore nella creazione di una tabella...come posso risolvere?

    Ciao,
    c'è questa query di una creazione di una tabella di un certo script che se provo ad eseguirla mi dà errore:

    codice:
    DROP TABLE IF EXISTS `#__phocagallery_votes`;
    CREATE TABLE `#__phocagallery_votes` (
      `id` int(11) NOT NULL auto_increment,
      `catid` int(11) NOT NULL default 0,
      `userid` int(11) NOT NULL default 0,
      `date` datetime NOT NULL default '0000-00-00 00:00:00',
      `rating` tinyint(1) NOT NULL default '0',
      `published` tinyint(1) NOT NULL default '0',
      `checked_out` int(11) unsigned NOT NULL default '0',
      `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
      `ordering` int(11) NOT NULL default '0',
      `params` text,
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM DEFAULT CHARSET=utf8;
    L'errore dovrebbe essere su questa linea:
    `checked_out` int( 11 ) unsigned NOT NULL default '0',

    ed è il seguente:
    Messaggio di MySQL: Documentazione
    #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 'DEFAULT CHARSET=utf8' at line 13

    Da cosa può dipendere? come risolvere?

    Grazie

  2. #2
    Io l'ho eseguita e non mi da errori.

    comunque mi sembra strano dire che il tipo è INT e poi mettere default '0' (che è una stringa).
    Prova a sostituire quei default '0' dove hai dichiarato un tipo numerico
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    comunque non cred che sia quello il problema.
    La sintassi di quell'ultima riga in effetti non la riconosco (anche se comunque ha funzionato).

    Io di solito per fare quello scrivo così

    ) ENGINE = MYISAM CHARACTER SET utf8
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    elimina DEFAULT CHARSET=utf8

    forse hai una versione vecchia di mysql che non supportava il charset

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    ho controllato: mi è venuto in mente che avevo il dump da un server che aveva una vecchia versione, la 2.10.3, ed infatti usa questa sintassi: TYPE=MyISAM AUTO_INCREMENT=13747 ;
    e non supporta il charset quindi hai una versione molto vecchia di mysql.
    ti consiglio, se puoi, di aggiornare mysql.
    comunque, per ora, elimina DEFAULT CHARSET=utf8 e vedrai che funziona

  6. #6
    quella li, al massimo, è la versione del phpMyAdmin presente sul server

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    24
    hai ragione, la versione di mysql è 4.0.17, la versione 2.10.3 si riferiva al phpMyAdmin.

  8. #8
    se non sbaglio quelle keyword sono supportate dalla 4.1 in su

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.