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”

有人知道可能出了什么问题吗?感谢您的任何提示:-) Lars。

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 的列,所以更新后的查询应该是

插入 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 回答