Reputation: 15
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
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