[SQL] Question d'un nullos

PolloDG3
2022-04-15 17:39:20

drop table Livre;
drop table Personne;
drop table Emprunt;

CREATE TABLE Livre(
Isbn INTEGER PRIMARY KEY,
Titre VARCHAR(50) NOT NULL,
Type VARCHAR(50) NOT NULL,
Nbp INTEGER NOT NULL,
idPreteur integer NOT NULL,
datePret timestamp NOT NULL,
CONSTRAINT key_idpreteur_datepret UNIQUE (idPreteur, datePret) -- ajout secondes
);

CREATE TABLE Personne(
Numero INTEGER PRIMARY KEY,
nom varchar(30) NOT NULL,
Prenom varchar(30) NOT NULL,
Adresse varchar(50) NOT NULL
);

CREATE TABLE Emprunt(
Numero INTEGER NOT NULL,
Date DATE NOT NULL,
CONSTRAINT cle_emprunt PRIMARY KEY (Numero, Date)
);

ALTER TABLE Emprunt
ADD CONSTRAINT fk_personne_emprunt,
FOREIGN KEY (Numero)
REFERENCES Personne(Numero);

Question j'ai l'erreur :

near "CONSTRAINT": syntax error

C'est causé par
ALTER TABLE Emprunt
ADD CONSTRAINT fk_personne_emprunt,
FOREIGN KEY (Numero)
REFERENCES Personne(Numero);

Mais je vois pas pourquoi ?
Qqlq sait ?

PolloDG3
2022-04-15 17:43:13

:up:

PolloDG3
2022-04-15 17:45:22

:hello:

LTH_ayaaa
2022-04-15 17:45:51

oui deux secondes

PolloDG3
2022-04-15 17:47:43

Le 15 avril 2022 à 17:45:51 :
oui deux secondes

ok merci clé

Polochyz
2022-04-15 17:49:04

Y'a pas de virgule après "ADD CONSTRAINT fk_personne_emprunt"

PolloDG3
2022-04-15 17:49:31

Le 15 avril 2022 à 17:49:04 :
Y'a pas de virgule après "ADD CONSTRAINT fk_personne_emprunt"

en effet, mais ca marche tj pas :snif:

Polochyz
2022-04-15 17:51:04

C'est quoi l'erreur ? et ta db?

Izeeal
2022-04-15 17:51:12

Il faut écrire :
ALTER TABLE Emprunt
ADD CONSTRAINT fk_personne_emprunt FOREIGN KEY (Numero) REFERENCES Personne(Numero);

T'as mis une virgule en trop après fk_personne_emprunt
Ton ADD CONSTRAINT avec Foreign Key et Reference c'est une seule et même opération donc tu mets tout sur la même ligne et tu n'écris pas de virgule

PolloDG3
2022-04-15 17:51:45

Le 15 avril 2022 à 17:51:04 :
C'est quoi l'erreur ? et ta db?

l'erreur :

near "CONSTRAINT": syntax error

la db est dans le premier message

LTH_ayaaa
2022-04-15 17:52:21

je crois que t'as une "virgule" en trop

LTH_ayaaa
2022-04-15 17:52:43

Le 15 avril 2022 à 17:51:12 :
Il faut écrire :
ALTER TABLE Emprunt
ADD CONSTRAINT fk_personne_emprunt FOREIGN KEY (Numero) REFERENCES Personne(Numero);

T'as mis une virgule en trop après fk_personne_emprunt
Ton ADD CONSTRAINT avec Foreign Key et Reference c'est une seule et même opération donc tu mets tout sur la même ligne et tu n'écris pas de virgule

ouais c'est ça

LTH_ayaaa
2022-04-15 17:53:33

c'est quoi ta nouvelle erreur ?

PolloDG3
2022-04-15 17:54:09

Le 15 avril 2022 à 17:51:12 :
Il faut écrire :
ALTER TABLE Emprunt
ADD CONSTRAINT fk_personne_emprunt FOREIGN KEY (Numero) REFERENCES Personne(Numero);

T'as mis une virgule en trop après fk_personne_emprunt
Ton ADD CONSTRAINT avec Foreign Key et Reference c'est une seule et même opération donc tu mets tout sur la même ligne et tu n'écris pas de virgule

Merci de ta réponse.
Je viens d'essayer et ca marche pas #NOFAKE
Je suis peut etre juste con mais tu as éssayé de ton coté et ca marche ?

PolloDG3
2022-04-15 17:54:30

Le 15 avril 2022 à 17:53:33 :
c'est quoi ta nouvelle erreur ?
j'ai la même erreur :gni:

LTH_ayaaa
2022-04-15 17:55:08

ah

PolloDG3
2022-04-15 18:02:47

Le 15 avril 2022 à 17:57:37 :
https://www.w3schools.com/sql/sql_foreignkey.asp

Oui j'avais regardé mais que je fasse de la première facons ou de la deuxieme ca marche pas.

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.