栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如果另一个表中不存在值,则mysql插入

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如果另一个表中不存在值,则mysql插入

您需要使用某种类型的

INSERT...SELECt
查询。

更新(在澄清之后): 例如,

t2
如果相应的行在中尚不存在,则下面是如何在其中插入行
t1

INSERT INTO t2 (v)  SELECT temp.candidate  FROM (SELECt 'test' AS candidate) temp  LEFT JOIN t1 ON t1.v = temp.candidate  WHERe t1.v IS NULL

要用同一查询插入多行,恐怕没有什么比这更好的了

INSERT INTO t2 (v)  SELECT temp.candidate  FROM (      SELECt 'test1' AS candidate      UNIOn SELECT 'test2'      UNIOn SELECT 'test3' -- etc  ) temp  LEFT JOIN t1 ON t1.v = temp.candidate  WHERe t1.v IS NULL

原始答案

例如,这将从满足该子句的

other_column
所有行中提取
table1
WHERe
table2
使用用作的值插入行
column_name
。它将忽略重复的键错误。

INSERT IGNORE INTO table2 (column_name)  SELECT table1.other_column  FROM table1 WHERe table1.something == 'filter';


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400707.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号