SQL,如何将表的所有行插入到另一个表中

好,所以我吮吸SQL,我总是不得不寻求帮助,让我展示我的问题。 我有2个表,这里是两个结构:

  • ID (int)
  • courseID(int)
  • 课程(位)
  • 书签(varchar(100))
  • course_date(日期时间)
  • 后测(位)
  • post_attempts(int)
  • 现在我需要将一个表的所有行移动到另一个表(而不是更新),只是为了只有一个表的所有行都有。 ID列是一个自动增量的主键,但是当我试图使用INSERT INTO table1 SELECT * FROM table2 ,sql会产生这个错误#1062 - 重复键'PRIMARY'的条目'1'


    如果table1ID上有一个标识,那么您应该选择除ID之外的所有列

    INSERT INTO table1(
        course_id,
        course,
        bookmark,
        course_date,
        posttest,
        post_attempts
    )
    SELECT
        course_id,
        course,
        bookmark,
        course_date,
        posttest,
        post_attempts
    FROM table2
    

    如果你不关心旧表转移的ID,你可以使用这个:

    INSERT INTO newTable (courseID, course, bookmark, course_date, posttest, post_attempts)
    SELECT courseID, course, bookmark, course_date, posttest, post_attempts
    FROM oldTable;
    

    这将转移除ID以外的所有列,这应解决问题。

    链接地址: http://www.djcxy.com/p/94291.html

    上一篇: SQL, how to insert all rows of a table into another one

    下一篇: Duplicate a row in SQL?