我在 MySQL 中有两个表,比方说:
产品
id (unique)
name
购买
id (unique)
fk_productid (references Product.id)
buyerName
我正在使用 InnoDB 并从purchases.fk_productid
to创建了一个外键product.id
。
假设到目前为止我们在表中没有产品并且没有购买。现在有人购买了 id 为 10 的产品,如果我简单地尝试这个查询,这将导致失败:
插入购买(fk_productid,buyerName)值(10,“Andreas”)
我该怎么做才能插入购买?我能想到两件事:
添加 NULL as
fk_productid
,但是如果查询失败,我该如何直接在查询中执行此操作?在表中添加一个虚拟条目
product
,但我该怎么做呢?如何自动添加INSERT INTO products (id, name) VALUES (10, "???")
在其他查询之前?
这应该通过触发器、程序来完成,还是有一种我不知道的更简单的方法?