0

MySQL(OsXでは5.1.42)を実行しています。この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)

しかし、このsqlステートメントを使用してそのテーブルに値を挿入しようとすると:

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

次のエラーが発生しました:エラーコード:1054不明な列'fk_BlackBerry' in'field list'

誰かが何が間違っている可能性があるか考えていますか?ヒントをありがとう:-)ラース。

4

2 に答える 2

1

id制約ではなく、列に値を入力する必要がありますfk_Blackerry。また、値がであることがわかっている場合は1、挿入するだけ1です。サブクエリは必要ありません。

于 2010-01-07T12:27:01.387 に答える
1

ここから参照できる構文に従って。

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

fk_Blackerryはシンボルであり、列ではありません。外部キー制約がidである列。したがって、更新されたクエリは次のようになります。

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

于 2010-01-07T12:31:44.523 に答える