mysql - 无法在 MySQL 中使用外键插入值

标签 mysql insert foreign-keys innodb mysql-error-1054

我正在运行 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”

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

最佳答案

您需要将值放入 id 列中,而不是约束 fk_Blackerry 中。如果您知道该值为 1,则只需插入 1 - 您不需要子查询。

关于mysql - 无法在 MySQL 中使用外键插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2020194/

相关文章:

php - 用 PHP 编写可重用的更新查询

mysql - 崩溃后启动 MySQL 时出错

MySQL 5.5 : Efficient way to copy the same user information with different IDs

oracle - SQL插入语句返回 "zero/no rows inserted"

mysql - 为什么 `MUL` 关键字出现在 `Key` mysql 命令的 `show columns from Employee` 列下?

python - 将标签分配给Django ORM多对多关系中的对象

java - 如何在 Spring jdbc 中从远程服务器获取 mysql 连接?

c++ - 关于 vector 的困惑

entity-framework - Entity Framework EntityKey/外键问题

java - OnClick 动态添加一个新行到 TableLayout 并从数据库中获取值将其显示在添加的行中并给出总计