我对以下问题有困难:
我有两张桌子(例如)

 Table CARS:
 carID      |      Car Make
 1          |      Honda
 2          |      Misubishu

其中carID是主键
 Table MODELS
 modelID     |      mName       |      carID
 1           |      accord      |       1

其中modelID是主键,carID是外键(对于汽车)。
现在让我们说,我想插入本田思域模型表。
我会把思域车从汽车桌上拿出来
我一直在玩INSERT SELECT语句,但是我不能让它工作;我一直在做这样的事情:https://dba.stackexchange.com/questions/46410/how-do-i-insert-a-row-which-contains-a-foreign-key
这似乎正是我想要的,但是我仍然得到关于f-key的sqlexception。
谢谢!

最佳答案

如果modelID是自动递增的,则可以执行以下操作:

INSERT INTO models(mName,carID)
SELECT 'Civic',carID
FROM cars
WHERE `Car Make` = 'Honda';

sqlfiddle demo
如果modelID不是自动递增的,则还必须传递该id。

关于mysql - 插入具有外键约束的数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20318320/

10-11 05:02