我遇到以下问题:
我有两张桌子(例如)
Table CARS:
carID | Car Make
1 | Honda
2 | Misubishu
其中carID是主键
Table MODELS
modelID | mName | carID
1 | accord | 1
其中modelID是主键,carID是外键(到CARS)。
现在让我们说我想将本田思域插入到MODELS表中。
我会插入思域并从CARS表中获取与本田相匹配的carID
我一直在玩INSERT SELECT语句,但是我无法让它工作;我一直在做这样的事情:https://dba.stackexchange.com/questions/46410/how-do-i-insert-a-row-which-contains-a-foreign-key
这似乎正是我想要的,但我仍然得到关于f-key的sqlexceptions。
谢谢!
答案 0 :(得分:1)
如果modelID是auto_incremented,你可以这样做:
INSERT INTO models(mName,carID)
SELECT 'Civic',carID
FROM cars
WHERE `Car Make` = 'Honda';
如果modelID不是auto_incremented,你也必须传递id。