SELECT 旧表内容, INSERT 到新表,如何忽略`id`字段比较科学?

想把旧表的一些内容,插入到新表,用了*的话,会把旧表的 id 号也带过去了
(字段比较多)

我能想到的是
先根据 oldtbl 结构创建一个 tmptbl
INSERT INTO temptbl SELECT * FROM oldtbl WHERE XX=XX;
先把东西放到到临时表
对 temptbl 进行删除 id 列
再把 temptbl 的内容 SELECT *插入到 newtbl

如果是在程序设计部分,稍微复杂些,我先把表结构读了出来,建 tmptbl,然后组装字段段,Value 段,避开`id`,一条 SQL 撸完
而 SQL 本身的语法设计,似乎没有忽略字段这样操作?

相关文章

4 thoughts on “SELECT 旧表内容, INSERT 到新表,如何忽略`id`字段比较科学?

  1. 一个表三个字段,id, username, password
    不写*,写三个字段

    然后
    ‘null’, ‘username’, ‘password’

    类似下面这种
    insert into sys_userinfo (id, userCode, username, password)
    select null, 123456, ‘username’, ‘password’
    from t_product;

发表评论

电子邮件地址不会被公开。 必填项已用*标注