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

    Problema MySQL DROP TABLE

    Buongiorno a tutti ho un problema con l'eliminazione (DROP) della tabelle di questo database e confido in un vostro aiuto!!
    Dove sta l'errore???
    Mi compare questo:
    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 'constraints' at line 1

    L'errore che mi esce fuori è questo:
    CREATE TABLE Cliente (
    codiceFisc varchar(16) NOT NULL,
    nome varchar(30) NOT NULL,
    cognome varchar(30) NOT NULL,
    dataNascita date NOT NULL,
    residenza varchar(20) NOT NULL,
    telefono varchar(11) NOT NULL,
    PRIMARY KEY (codiceFisc),
    UNIQUE KEY codiceFisc (codiceFisc)
    );

    CREATE TABLE Tipologia (
    nome varchar(20) NOT NULL,
    prezzo int(3) NOT NULL,
    PRIMARY KEY (nome)
    );

    CREATE TABLE Abbonamento (
    dataInizio date NOT NULL,
    cliente varchar(16) NOT NULL,
    tipologia varchar(20) NOT NULL,
    dataFine date NOT NULL,
    PRIMARY KEY (dataInizio)
    );

    CREATE TABLE Tipo (
    nome varchar(30) NOT NULL,
    prezzo int(3) NOT NULL,
    PRIMARY KEY (nome)
    );

    CREATE TABLE Ingresso (
    dataIngresso date NOT NULL,
    cliente varchar(16) NOT NULL,
    tipo varchar(30) default NULL,
    PRIMARY KEY (dataIngresso)
    );

    CREATE TABLE Istruttore (
    codiceFisc varchar(16) NOT NULL,
    nome varchar(30) NOT NULL,
    cognome varchar(30) NOT NULL,
    dataNascita date NOT NULL,
    residenza varchar(20) default NULL,
    telefono int(11) default NULL,
    PRIMARY KEY (codiceFisc),
    UNIQUE KEY codiceFisc (codiceFisc)
    );

    CREATE TABLE Corso (
    codice int(5) NOT NULL,
    nome varchar(20) NOT NULL,
    data date NOT NULL,
    ora time NOT NULL,
    prenotazione int(5) NOT NULL,
    istruttore varchar(16) NOT NULL,
    PRIMARY KEY (codice)
    );

    CREATE TABLE Prenotazione (
    corso int(5) NOT NULL,
    cliente varchar(16) NOT NULL,
    codice int(5) NOT NULL,
    data date NOT NULL,
    PRIMARY KEY (codice)
    );

    CREATE TABLE Esercizio (
    nome varchar(20) NOT NULL,
    serie int(1) NOT NULL,
    ripetizione int(2) NOT NULL,
    PRIMARY KEY (nome)
    );

    CREATE TABLE Scheda (
    Codice int(5) NOT NULL,
    dataInizio date NOT NULL,
    dataFine date NOT NULL,
    cliente varchar(16) NOT NULL,
    istruttore varchar(16) NOT NULL,
    esercizio varchar(20) NOT NULL,
    PRIMARY KEY (codice)
    );

    ALTER TABLE Abbonamento ADD
    FOREIGN KEY (cliente)
    REFERENCES Cliente(codiceFisc);

    ALTER TABLE Abbonamento ADD
    FOREIGN KEY (tipologia)
    REFERENCES Tipologia(nome);

    ALTER TABLE Ingresso ADD
    FOREIGN KEY (Cliente)
    REFERENCES Cliente(codiceFisc);

    ALTER TABLE Ingresso ADD
    FOREIGN KEY (tipo)
    REFERENCES Tipo(nome);

    ALTER TABLE Corso ADD
    FOREIGN KEY (istruttore)
    REFERENCES Istruttore(codiceFisc);

    ALTER TABLE Prenotazione ADD
    FOREIGN KEY(corso) REFERENCES Corso(codice);

    ALTER TABLE Prenotazione ADD
    FOREIGN KEY (cliente)
    REFERENCES Cliente(codiceFisc);

    ALTER TABLE Scheda ADD
    FOREIGN KEY (cliente)
    REFERENCES Cliente(codiceFisc);

    ALTER TABLE Scheda ADD
    FOREIGN KEY (istruttore)
    REFERENCES Istruttore(codiceFisc);

    DROP TABLE Cliente on CASCADE CONSTRAINTS;

    DROP TABLE Tipologia CASCADE CONSTRAINTS;

    DROP TABLE Abbonamento CASCADE CONSTRAINTS;

    DROP TABLE Tipo CASCADE CONSTRAINTS;

    DROP TABLE Ingresso CASCADE CONSTRAINTS;

    DROP TABLE Istruttore CASCADE CONSTRAINTS;

    DROP TABLE Corso CASCADE CONSTRAINTS;

    DROP TABLE Prenotazione CASCADE CONSTRAINTS;

    DROP TABLE Esercizio CASCADE CONSTRAINTS;

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    La sintassi dell'istruzione DROP TABLE è la seguente (come da manuale MySQL):

    codice:
    DROP [TEMPORARY] TABLE [IF EXISTS]
        tbl_name [, tbl_name] ...
        [RESTRICT | CASCADE]
    Quindi, la sintassi correttà è:

    codice:
    DROP TABLE Cliente CASCADE;
    DROP TABLE Tipologia CASCADE;
    DROP TABLE Abbonamento CASCADE;
    DROP TABLE Tipo CASCADE;
    DROP TABLE Ingresso CASCADE;
    DROP TABLE Istruttore CASCADE;
    DROP TABLE Corso CASCADE;
    DROP TABLE Prenotazione CASCADE;
    DROP TABLE Esercizio CASCADE;
    PS: nella prima DROP c'era anche un ON di troppo...

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.