What should I change here in order to get the following SQL code working?

Hello StackOverflow community. I'm having the following error when I execute this SQL query: I created all this code in order to create some tables and VisualStudio code doesn't show me any syntax error. What should I change here?

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')

GO
CREATE TABLE SECCIO (
    seccio_codi INT(10) PRIMARY KEY,
    seccio' at line 10

This is my SQL code: Maybe it is a comma or something else, but I'm not able to find what is the real issue here as everything seems okey.

CREATE TABLE SOCI (
    soci_nif VARCHAR(9) PRIMARY KEY,
    soci_nom VARCHAR(15),
    soci_cog1 VARCHAR(15),
    soci_cog2 VARCHAR(15),
    soci_adreca VARCHAR(30),
    soci_codipostal INT(5),
    soci_poblacio VARCHAR(15),
    soci_telefon INT(9) UNIQUE,
)
GO
CREATE TABLE REBUT (
    numero_rebut INT(20) PRIMARY KEY,
    soci_nif INT(15) UNIQUE,
    data_rebut DATE DEFAULT GETDATE, 
    estat_rebut VARCHAR(7), CHECK (estat_rebut IN('pagat','pendent','rebut')),
    importe INT(9) CHECK (importe > 0),
    CONSTRAINT fk_numero_rebut FOREIGN KEY (soci_nif) REFERENCES SOCI(soci_nif)
)
GO
CREATE TABLE SECCIO (
    seccio_codi INT(10) PRIMARY KEY,
    seccio_nom VARCHAR(20) UNIQUE,
    seccio_telefon INT(9) UNIQUE,
    seccio_fax INT(9) UNIQUE,
    seccio_e_mail VARCHAR(20) UNIQUE,
    junta_nif VARCHAR(9) UNIQUE,
    CONSTRAINT fk_junta_nif FOREIGN KEY (junta_nif) REFERENCES JUNTA(junta_nif)
)
GO
CREATE TABLE JUNTA (
    junta_nif VARCHAR(9) PRIMARY KEY,
    junta_nom VARCHAR(10) UNIQUE,
    junta_cog1 VARCHAR(15),
    junta_cog2 VARCHAR(15),
    junta_adreca VARCHAR(30),
    junta_codi_postal INT(5),
    junta_poblacio VARCHAR(10),
    junta_telefon INT(9) UNIQUE,
    junta_mobil INT(9) UNIQUE
)
GO
CREATE TABLE EQUIP (
    equip_codi VARCHAR(4) PRIMARY KEY,
    equip_nom VARCHAR(9),
    equip_patrocinador VARCHAR(9),
    seccio_codi INT(5) UNIQUE,
    categoria_codi INT(4) UNIQUE,
    CONSTRAINT fk_seccio_codi FOREIGN KEY (seccio_codi) REFERENCES SECCIO(seccio_codi),
    CONSTRAINT fk_categoria_codi FOREIGN KEY (categoria_codi) REFERENCES CATEGORIA(categoria_codi)
)
GO
CREATE TABLE CATEGORIA(
    categoria_codi INT(4) PRIMARY KEY,
    nom_categoria VARCHAR(10)
)
GO
CREATE TABLE JUGADOR (
    jug_id VARCHAR(20) PRIMARY KEY,
    jugador_nom VARCHAR(10),
    jug_cog1 VARCHAR(15),
    jug_cog2 VARCHAR(15),
    jug_data_naixament DATE,
    equip_codi VARCHAR(4),
    CONSTRAINT fk_equip_codi FOREIGN KEY (equip_codi) REFERENCES EQUIP(equip_codi)
)
GO
CREATE TABLE NACIONALITAT(
    nac_sigles_id INT(4) PRIMARY KEY,
    nac_nom VARCHAR(3)
)
GO
CREATE TABLE NACIONALITATS_JUGADORS(
    jug_identificador VARCHAR(5) PRIMARY KEY,
    nacis_sigles_id VARCHAR(3) PRIMARY KEY,
    data_nacionalitat DATA,
    CONSTRAINT fk_jug_identificador FOREIGN KEY (jug_identificador) REFERENCES JUGADOR(jug_id),
    CONSTRAINT fk_nacis_sigles_id FOREIGN KEY (nacis_sigles_id) REFERENCES NACIONALITAT(nac_sigles_id)
)
GO
CREATE TABLE ENTRENADOR(
    entrenador_id VARCHAR(5) PRIMARY KEY,
    entrenador_nom VARCHAR(10),
    entrenador_cognoms VARCHAR(15)
)
GO
CREATE TABLE ABONATS(
    soci_nif VARCHAR(9) PRIMARY KEY,
    seccio_codi INT(10) PRIMARY KEY,
    data_soci_seccio DATE,
    CONSTRAINT fk_soci_nif FOREIGN KEY (soci_nif) REFERENCES SOCI(soci_nif),
    CONSTRAINT fk_seccio_codi FOREIGN KEY (seccio_codi) REFERENCES SECCIO(soccio_codi)
)
GO
CREATE TABLE TASCA_ENTRENADOR (
    entrenador_id VARCHAR(5) PRIMARY KEY,
    equip_codi VARCHAR(4) PRIMARY KEY,
    tasca VARCHAR(30),
    data_inici_tasca DATE DEFAULT GETDATE,
    CONSTRAINT fk_entrenador_id FOREIGN KEY (entrenador_id) REFERENCES ENTRENADOR(entrenador_id),
    CONSTRAINT fk_equip_codi FOREIGN KEY (equip_codi) REFERENCES EQUIP(equip_codi)
)

Thanks in advance for the help!!

Upvotes: 0

Views: 69

Answers (1)

nbk
nbk

Reputation: 49395

You have in your first Create table at the end a comma too much so change it to

then you have too many errors in your code to explai. Foreign keys have to have a unique name.

Referenced Table and column reference must have the same Datatype

Datatype Data doesn't exist so i put there data_nacionalitat varchar(50)

Last but nit Least Go between is SQL Server, and doesn't work in mysql also all cretes have to have a semikolo9n at the end

CREATE TABLE SOCI (
    soci_nif VARCHAR(9) PRIMARY KEY,
    soci_nom VARCHAR(15),
    soci_cog1 VARCHAR(15),
    soci_cog2 VARCHAR(15),
    soci_adreca VARCHAR(30),
    soci_codipostal INT(5),
    soci_poblacio VARCHAR(15),
    soci_telefon INT(9) UNIQUE
);
CREATE TABLE REBUT (
    numero_rebut INT(20) PRIMARY KEY,
    soci_nif VARCHAR(9) UNIQUE,
    data_rebut DATE , 
    estat_rebut VARCHAR(7), CHECK (estat_rebut IN('pagat','pendent','rebut')),
    importe INT(9) CHECK (importe > 0),
    CONSTRAINT fk_numero_rebut FOREIGN KEY (soci_nif) REFERENCES SOCI(soci_nif)
);
CREATE TABLE JUNTA (
    junta_nif VARCHAR(9) PRIMARY KEY,
    junta_nom VARCHAR(10) UNIQUE,
    junta_cog1 VARCHAR(15),
    junta_cog2 VARCHAR(15),
    junta_adreca VARCHAR(30),
    junta_codi_postal INT(5),
    junta_poblacio VARCHAR(10),
    junta_telefon INT(9) UNIQUE,
    junta_mobil INT(9) UNIQUE
);
CREATE TABLE SECCIO (
    seccio_codi INT(10) PRIMARY KEY,
    seccio_nom VARCHAR(20) UNIQUE,
    seccio_telefon INT(9) UNIQUE,
    seccio_fax INT(9) UNIQUE,
    seccio_e_mail VARCHAR(20) UNIQUE,
    junta_nif VARCHAR(9) UNIQUE,
    CONSTRAINT fk_junta_nif FOREIGN KEY (junta_nif) REFERENCES JUNTA(junta_nif)
);
CREATE TABLE CATEGORIA(
    categoria_codi INT(4) PRIMARY KEY,
    nom_categoria VARCHAR(10)
);
CREATE TABLE EQUIP (
    equip_codi VARCHAR(4) PRIMARY KEY,
    equip_nom VARCHAR(9),
    equip_patrocinador VARCHAR(9),
    seccio_codi INT(10) UNIQUE,
    categoria_codi INT(4) UNIQUE,
    CONSTRAINT fk_seccio_codi FOREIGN KEY (seccio_codi) REFERENCES SECCIO(seccio_codi),
    CONSTRAINT fk_categoria_codi FOREIGN KEY (categoria_codi) REFERENCES CATEGORIA(categoria_codi)
);
CREATE TABLE JUGADOR (
    jug_id VARCHAR(20) PRIMARY KEY,
    jugador_nom VARCHAR(10),
    jug_cog1 VARCHAR(15),
    jug_cog2 VARCHAR(15),
    jug_data_naixament DATE,
    equip_codi VARCHAR(4),
    CONSTRAINT fk_equip_codi FOREIGN KEY (equip_codi) REFERENCES EQUIP(equip_codi)
);
CREATE TABLE NACIONALITAT(
    nac_sigles_id INT(4) PRIMARY KEY,
    nac_nom VARCHAR(3)
);
CREATE TABLE NACIONALITATS_JUGADORS(
    jug_identificador VARCHAR(20) ,
    nacis_sigles_id INT(4) ,
    data_nacionalitat varchar(50),
    PRIMARY KEY (jug_identificador, nacis_sigles_id),
    CONSTRAINT fk_jug_identificador FOREIGN KEY (jug_identificador) REFERENCES JUGADOR(jug_id),
    CONSTRAINT fk_nacis_sigles_id FOREIGN KEY (nacis_sigles_id) REFERENCES NACIONALITAT(nac_sigles_id)
);
CREATE TABLE ENTRENADOR(
    entrenador_id VARCHAR(5) PRIMARY KEY,
    entrenador_nom VARCHAR(10),
    entrenador_cognoms VARCHAR(15)
);
CREATE TABLE ABONATS(
    soci_nif VARCHAR(9) ,
    seccio_codi INT(10) ,
    data_soci_seccio DATE,
    PRIMARY KEY (soci_nif, seccio_codi),
    CONSTRAINT fk_soci_nif FOREIGN KEY (soci_nif) REFERENCES SOCI(soci_nif),
    CONSTRAINT fk_seccio_codi2 FOREIGN KEY (seccio_codi) REFERENCES SECCIO(seccio_codi)
);
CREATE TABLE TASCA_ENTRENADOR (
    entrenador_id VARCHAR(5) ,
    equip_codi VARCHAR(4) ,
    tasca VARCHAR(30),
    data_inici_tasca DATE ,
    PRIMARY KEY (entrenador_id, equip_codi),
    CONSTRAINT fk_entrenador_id FOREIGN KEY (entrenador_id) REFERENCES ENTRENADOR(entrenador_id),
    CONSTRAINT fk_equip_codi2 FOREIGN KEY (equip_codi) REFERENCES EQUIP(equip_codi)
);

db<>fiddle here

Upvotes: 1

Related Questions