You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用INSERT INTO SELECT从playlist表向playlistvideos表插入外键数据

正确的SQL插入语句实现

问题说明

需要从playlist表获取外键值插入到playlistvideos表,原尝试代码存在语法错误,现有表结构及期望结果如下:

playlist表结构

playlistID | name      | userfk | icon
1          | Favourite | Armistice | Heart

videos表结构

videoID | videoTitle| videoLink | Thumbnail
2       | JWD       | JWD.mp4   | JWD.jpg

期望插入后playlistvideos表结果

videoID | playlistFK| videoTitle | videoLink | Thumbnail
2       | 1         | JWD        | JWD.mp4   | JWD.jpg

正确SQL语句

方式一:关联双表查询插入(推荐,避免硬编码视频信息)

直接从videos表读取视频数据,从playlist表匹配对应的外键,无需手动填写视频字段:

INSERT INTO playlistvideos(videoID, playlistFK, videoTitle, videoLink, thumbnail)
SELECT 
    v.videoID, 
    p.playlistID, 
    v.videoTitle, 
    v.videoLink, 
    v.thumbnail
FROM videos v
CROSS JOIN playlist p
WHERE v.videoID = 2
  AND p.userfk = 'Armistice' 
  AND p.icon = 'Heart';

方式二:固定视频信息,子查询获取外键

如果不需要关联videos表,可通过子查询动态获取playlistID:

INSERT INTO playlistvideos(videoID, playlistFK, videoTitle, videoLink, thumbnail)
VALUES (
    2,
    (SELECT playlistID FROM playlist WHERE userfk = 'Armistice' AND icon = 'Heart'),
    'JWD',
    'JWD.mp4',
    'JWD.jpg'
);

原代码问题点

  • 语法结构错误:将INSERT和SELECT拆分书写,未将查询结果作为插入数据源
  • 字符串闭合错误:'JWD.mp4'缺少右侧单引号,属于语法疏漏

内容的提问来源于stack exchange,提问作者Armistice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 21:06:22