Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    MySQL- HELP ME! - Error Code: 1064

    Buongiorno a tutti, mi sono da pochissimo affacciata nel mondo SQL e sono un po' in crisi.
    Ho copiato il seguente codice da un'esercitazione, in teoria dovrebbe essere giusta, ma in realtà non lo è... ho cercato di capire l'errore, ma forse proprio per la mia inesperienza non riesco ben a capire dove sta.
    codice:
    create schema TeatroSQL {   
     create domain tipoBiglietto as varchar(8)
      default "Intero"
      check (tipoBiglietto in ('Intero', 'Ridotto', 'Studenti'))
      create domain mansione as varchar(5)
      check (mansione in ('CA', 'POD', 'CUSRP', 'ACF'))
      create domain tipoProduttore as varchar(7)
      check (tipoProduttore in ('interno', 'esterno'))  
      create table teatro
      (
        nome             varchar(20) primary key, 
        telefono         varchar(15),
        fax              varchar(15),
        indirizzo        varchar(40) not null,  
        email            varchar(30),
        url              varchar(30)
      ) 
        create table biglietteria
      (
        nome             varchar(20) primary key, 
        indirizzo        varchar(40) not null,
        email            varchar(30),
        telefono         varchar(15),  
        teatro           varchar(20) foreign key references teatro(nome)
                                     on update cascade on delete set null
      )
    ...
    codice:
     create view dipendenti(teatro, cognome, nome, cf, età, telefonoFisso,
        telefonoMobile, email, stipendio, dataDiAssunzione, ruolo, cda) as
      select L.teatro, D.cognome, D.nome, D.cf, 
        case 
          when ((month(current_date) > month(D.dataDiNascita)) or
                (month(current_date) = month(D.dataDiNascita) and 
                 day(current_date) >= day(D.dataDiNascita)))
          then year(current_date) - year(D.dataDiNascita)
          else year(current_date) - year(D.dataDiNascita) - 1
        end,  
        D.telefonoFisso, D.telefonoMobile, D.email, S.stipendio, 
        L.dataDiAssunzione, L.ruolo, L.cda
      from lavoro L, dipendente D, stipendio S
      where (L.dipendente = D.cf) and (S.dipendente = D.cf) and
            (S.inizio = (select max(S2.inizio)
                         from stipendio S2
                         where S2.dipendente = D.cf))
      order by L.teatro, D.cognome, D.nome                    
        
        
      create view statScena(spettacolo, paganti, affluenza, incasso) as
      select Sce.spettacolo, count(*), count(*) / Spa.capienza, sum(P.prezzo)
      from messaInScena Sce, spazio Spa, prenotazione P
      where (Sce.spazio = Spa.nome) and
            (P.dataSpettacolo = Sce.data) and
            (P.oraSpettacolo = Sce.ora) and
            (P.spazioSpettacolo = Sce.spazio)
      group by Sce.data, Sce.ora, Sce.spazio
      create view statSpettacolo(spettacolo, paganti, affluenza, incasso) as
      select Spe.titolo, avg(Sce.paganti), avg(Sce.affluenza), avg(Sce.incasso)
      from spettacolo Spe, statScena Sce
      where (Spe.titolo = Sce.spettacolo)
      group by Spe.titolo 
    }
    L'errore è il seguente: Error Code: 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 '{
    create domain tipoBiglietto as varchar(8) default "Intero" check (tipoBi' at line 2
    Vi prego aiutatemi a trovarlo e a capire!Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    non sono sicuro ma forse Intero non va tra doppi apici ma tra singoli

    ossia non "Intero"

    ma 'Intero'

  3. #3
    Originariamente inviato da mydb
    non sono sicuro ma forse Intero non va tra doppi apici ma tra singoli

    ossia non "Intero"

    ma 'Intero'
    Grazie, ho provato ad apporotare la modifica che mi hai suggerito tu, ma va comunque in errore

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Originariamente inviato da ludodudu
    Grazie, ho provato ad apporotare la modifica che mi hai suggerito tu, ma va comunque in errore
    l'errore e' sempre lo stesso?

  5. #5
    Originariamente inviato da mydb
    l'errore e' sempre lo stesso?
    si sempre
    Error Code: 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 '{

    create domain tipoBiglietto as varchar(8)
    default 'Intero'
    check (tip' at line 2

    potrebbe servire a qualcosa se mettessi il codice sql per intero???

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    mi sono andato a documentare un po in giro e leggo con stupore che in mySql non e' possibile creare i domini...

    Quindi non e' supportata la CREATE DOMAIN...

    Il che e' stranissimo ma pare sia cosi...

    Quindi nel tuo caso il problema sta proprio nel fatto che CREATE DOMAIN in mysql non esiste

  7. #7
    Originariamente inviato da mydb
    mi sono andato a documentare un po in giro e leggo con stupore che in mySql non e' possibile creare i domini...

    Quindi non e' supportata la CREATE DOMAIN...

    Il che e' stranissimo ma pare sia cosi...

    Quindi nel tuo caso il problema sta proprio nel fatto che CREATE DOMAIN in mysql non esiste
    O.o ooooh! sono sincera non ci sarei mai arrivata, soprattutto perchè tutte le altre esercitazioni del tutorial da cui ho preso il codice erano per my sql...allora provo a eliminare quella parte...
    grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    ok, prova e facci sapere

  9. #9
    Originariamente inviato da mydb
    ok, prova e facci sapere
    ho eliminato il blocco
    codice:
    create domain tipoBiglietto as varchar(8)
      default "Intero"
      check (tipoBiglietto in ('Intero', 'Ridotto', 'Studenti'))
      create domain mansione as varchar(5)
      check (mansione in ('CA', 'POD', 'CUSRP', 'ACF'))
      create domain tipoProduttore as varchar(7)
    ma
    continua adare errore
    Error Code: 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 '{' at line 1

    a questo punto da ignorante mi sorge il dubbio non è che il problema sta in create schema? o nel nome?

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    287
    Originariamente inviato da ludodudu
    ho eliminato il blocco
    codice:
    create domain tipoBiglietto as varchar(8)
      default "Intero"
      check (tipoBiglietto in ('Intero', 'Ridotto', 'Studenti'))
      create domain mansione as varchar(5)
      check (mansione in ('CA', 'POD', 'CUSRP', 'ACF'))
      create domain tipoProduttore as varchar(7)
    ma
    continua adare errore
    Error Code: 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 '{' at line 1
    ti manca da eliminare :
    check (tipoProduttore in ('interno', 'esterno'))

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.