Question

J'ai MySQL (5.1.42 sur OsX) Course à pied. J'ai ajouté une clé étrangère avec cette déclaration sql:

ALTER TABLE `Portal`.`Mitarbeiter_2_BlackBerry` 
  ADD CONSTRAINT `fk_Blackberry`
  FOREIGN KEY (`id` )
  REFERENCES `Portal`.`Blackberry` (`id` )
  ON DELETE NO ACTION
  ON UPDATE NO ACTION
, ADD INDEX `fk_Blackberry` (`id` ASC)

Mais lorsque je tente d'insérer des valeurs dans ce tableau avec cette instruction SQL:

INSERT INTO Mitarbeiter_2_BlackBerry SET uebergabeAm = '2009-12-01 13:00:00', fk_Blackberry = (SELECT id FROM Blackberry WHERE id = '1')

Je suis l'erreur suivante: Code d'erreur: 1054 Unknown column 'fk_BlackBerry' dans 'liste des champs'

Quelqu'un une idée de ce qui pourrait être erroné? Merci pour tout soupçon :-) Lars.

Était-ce utile?

La solution

Vous avez besoin de mettre la valeur dans la colonne id pas la contrainte de fk_Blackerry. Et si vous connaissez la valeur est 1, il suffit d'insérer 1- vous ne avez pas besoin du sous-requête.

Autres conseils

Selon la syntaxe qui vous vous pouvez consulter ici.

http: //dev.mysql .com / doc / refman / 5.1 / fr / InnoDB-clé étrangère constraints.html

fk_Blackerry est le symbole, pas la colonne. Colonne sur laquelle est contrainte de clé étrangère id, donc la requête doit être mis à jour

INSERT INTO Mitarbeiter_2_BlackBerry SET uebergabeAm = '2009-12-01 13:00:00', id = (SELECT id à partir de Blackberry où id = '1')

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top