`

SELECT INTO 和 INSERT INTO SELECT

阅读更多

 

SELECT INTO 和 INSERT INTO SELECT都可以用于表之间复制或同一个表的多条记录复制。

 

1.INSERT INTO SELECT语句

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量

 

2.SELECT INTO FROM语句

语句形式为:SELECT vale1, value2 into Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

 

注意事项:

 

insert into monitor_item (`id`) select 2333990 from monitor_item where target_id = 133292;

ERROR 1062 : Duplicate entry '2333990' for key 'PRIMARY'

原因:target_id = 133292对应多条记录导致会插入多条记录,但是多条记录的主键相同。

解决:

参考:http://hi.baidu.com/ytjwt/blog/item/1ccc2c26022b0608908f9d8c.html

Insert into改为Insert ignore into执行后报:

Query OK, 1 row affected

Records: 7  Duplicates: 6  Warnings: 0

最终发现后面select会有多条数据,在insert的时候多条数据的主键id相同,所以报错。若强制插入,最终只会插入一条记录。


参考:http://www.cnblogs.com/freshman0216/archive/2008/08/15/1268316.html


分享到:
评论

相关推荐

    MYSQL SELECT INTO 和 INSERT INTO SELECT

    ### MySQL中的SELECT INTO和INSERT INTO SELECT详解 #### 一、引言 在数据库管理与应用开发过程中,数据的复制是一项非常常见的需求。特别是在进行数据迁移、备份或创建新表时,能够快速有效地复制数据是非常重要...

    select into和insert into select使用方法

    ### 使用Select Into与Insert Into Select进行表复制的方法 在数据库管理与操作中,`SELECT INTO`与`INSERT INTO SELECT FROM`是两种常见的用于复制或创建新表的方式。这两种语句虽然相似,但在实际使用场景中有着...

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句简单介绍

    但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。...

    select into 和 insert into select 两种表复制语句

    第二句:INSERT INTO [ToTable] ([fild_One],[fild_Two]) SELECT [fild_One], 8 FROM [FromTable] 以上两句都是将 [FromTable] 的数据插入到 [ToTable],但两句又有区别的: 第一句(SELECT INTO FROM)要求目标表...

    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1 或者:Insert into Table2 select * from Table1 注意:(1)要求目标表Table2必须存在,并且...

    ORACLE INSERT INTO SELECT *FROM 分批提交例子

    ORACLE INSERT INTO SELECT *FROM 分批提交例子

    insert into select和select into的使用和区别介绍

    insert into … select …:可将表1中的全部数据或者部分数据复制到表2中。 eg: 代码如下: insert into t2(id,name,pwd) select id,name,pwd from t1 注:t2必须存在。t1中查询的列名可不与t1列名相同。无 values ...

    解析SQL语句中Replace INTO与INSERT INTO的不同之处

    在SQL语句中,`REPLACE INTO` 和 `INSERT INTO` 都是用来向数据库表中添加数据的命令,但它们之间存在重要的区别。本文将详细阐述这两种操作的区别以及使用场景。 首先,`INSERT INTO` 是最常用的插入数据的方式。...

    mssql insert into 和insert into select性能比较

    本文主要探讨了两种不同的插入数据的方法:`INSERT INTO...VALUES` 和 `INSERT INTO...SELECT`,并以MSSQL(Microsoft SQL Server)为例,分析它们在性能上的差异。 首先,`INSERT INTO...VALUES` 语句用于向表中...

    SQL SERVER 将select数据生成insert语句

    在这种情况下,`SELECT INTO` 和 `INSERT INTO...SELECT` 语句是常用的工具,可以将数据从一个源转换为插入语句。本文将详细介绍如何使用这些方法,并提供一个实用的小工具——SelectInsertTable,帮助用户更方便地...

    INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别

    1.INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,…) select value1,value2,… from Table1 要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还...

    insert select与select into 的用法使用说明

    insert into(列名) select 列名 from 表名 where 条件 –不创建表,只复制表数据 select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,–创建一张新表,只复制选择的列名字段数据 Insert是T-sql中...

    Insert Into 语句批量生成器

    SELECT语句,如 INSERT INTO # SELECT '0001','2004-4-5','2000','3000' INSERT INTO # SELECT '0002','2004-4-5','1000','5000' INSERT INTO # SELECT '0003','2005-6-7','1500','3000' INSERT INTO # ...

    数据库插入数据之select into from与insert into select区别详解

    在数据库操作中,数据插入是常见的任务之一,而`SELECT INTO FROM`和`INSERT INTO SELECT`是两种不同的插入数据的方法,虽然它们看似相似,但在实际使用中有着本质的区别。了解这些差异对于数据库管理员和开发人员来...

Global site tag (gtag.js) - Google Analytics