Frage

Ich habe eine MySQL (5.1.42 auf OSX) läuft. Ich habe einen Fremdschlüssel mit dieser SQL-Anweisung:

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)

Aber wenn ich versuche, Werte in dieser Tabelle mit dieser SQL-Anweisung einzufügen:

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

Ich habe die folgenden Fehler: Fehlercode: 1054 Unbekannte Spalte 'fk_BlackBerry' in 'field list'

jemand eine Idee, was falsch sein könnte? Vielen Dank für jeden Hinweis :-) Lars.

War es hilfreich?

Lösung

Sie müssen den Wert in der Spalte id nicht die Einschränkung fk_Blackerry setzen. Und wenn Sie der Wert 1 wissen, nur einfügen 1- Sie die Unterabfrage nicht brauchen.

Andere Tipps

Wie pro die Syntax, die Sie Sie von hier beziehen.

http: //dev.mysql .com / doc / refman / 5.1 / de / innodb-foreign-key-constraints.html

fk_Blackerry ist Symbol, nicht die Spalte. Säule, auf der Fremdschlüssel ist id, also die aktualisierte Abfrage sollte

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top