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

MariaDB插入子查询报错1046:跨表复制字段问题排查

问题解答

自增字段id的问题

你的video表自增字段id本身没有问题。MariaDB中,自增主键在插入数据时如果不主动指定值,会自动生成唯一的递增数值,所以你在插入语句中不需要包含id字段,这部分的写法是正确的,报错和它无关。

插入语句的错误点

你用了INSERT INTO ... VALUES (SELECT ...)的错误语法,VALUES关键字后面只能跟具体的常量值列表(比如VALUES ('http://xxx', 123)),不能直接嵌套子查询。正确的写法是去掉VALUES,直接把SELECT语句放在INSERT INTO后面。

修正后的SQL语句

INSERT INTO videos (video_url, user_id)
SELECT youtube_url AS video_url, user_id
FROM ads 
WHERE ads.youtube_url != "";

另外,你还可以考虑给video_source字段赋值(比如固定为'youtube'),因为当前语句里这个字段会被设为默认值(如果没设置默认值会是NULL),如果需要的话可以改成:

INSERT INTO videos (video_source, video_url, user_id)
SELECT 'youtube' AS video_source, youtube_url AS video_url, user_id
FROM ads 
WHERE ads.youtube_url != "";

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 06:35:54