如何把A表中的B表中不存在的数据插入到B表中,谢谢

compilercradle 2017-08-14 09:13:31
首先感谢大家的回复。
表A如下
id class
a b
a b1
c d
e f
=====
表B如下
id class check
a b 1
a b1 0
=====
现在,就可以把A表中的
c d
e f
放入到表b中去。
感谢您的回复。
...全文
588 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
compilercradle 2017-08-15
  • 打赏
  • 举报
回复
not exists 可以执行的,不存在不支持的问题。
ACMAIN_CHM 2017-08-15
  • 打赏
  • 举报
回复
MYSQL版本是什么?是否支持 NOT EXISTS
compilercradle 2017-08-15
  • 打赏
  • 举报
回复
首先,看表A,也就是 view_aaa 的数据,如下 SELECT uid, class2 FROM view_aaa ; 这句话,执行正常 uid class2 4 134 4 135 5 135 6 135 =============== 然后,看表B,也就是 shizi_certificate_member (师资授权)的前两列的数据,来自于表A的uid, class2,最开始为空. 以下语句指行正常: SELECT view_aaa.uid, view_aaa.class2 FROM view_aaa, shizi_certificate_member WHERE view_aaa.uid=shizi_certificate_member.uid and view_aaa.class2 = shizi_certificate_member.columnid ============================== uid class2 结果为空,因为 shizi_certificate_member 本身为空。 最后,上面两个sql语句结合起来看: SELECT uid, class2 FROM view_aaa WHERE   NOT EXISTS (SELECT view_aaa.uid, view_aaa.class2 FROM view_aaa, shizi_certificate_member WHERE view_aaa.uid=shizi_certificate_member.uid and view_aaa.class2 = shizi_certificate_member.columnid); 执行结果如下: [SQL]#SELECT * FROM view_aaa #SELECT uid, class2, 0 FROM view_aaa; SELECT uid, class2 FROM view_aaa WHERE   NOT EXISTS (SELECT view_aaa.uid, view_aaa.class2 FROM view_aaa, shizi_certificate_member WHERE view_aaa.uid=shizi_certificate_member.uid and view_aaa.class2 = shizi_certificate_member.columnid); [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT view_aaa.uid, view_aaa.class2 FROM view_aaa, shizi_certificate_member ' at line 5 我现在还没有明白,为何出错了。 还请大家来帮帮我吧,非常感谢大家
compilercradle 2017-08-15
  • 打赏
  • 举报
回复
表B如下 id       class       check a        b            1 a        b1          0 c       d 0 e       f 0 check字段,在刚从A表拿来插入时候,初值是0,然后在其他条件下,会被更新成1
compilercradle 2017-08-15
  • 打赏
  • 举报
回复
谢谢。 我希望B表结果如下: 表B如下 id       class       check a        b            1 a        b1          0 c       d e       f
hongmei85 2017-08-15
  • 打赏
  • 举报
回复

insert into shizi_certificate_member (uid, columnid) 
SELECT view_aaa.uid, class2 FROM view_aaa 
WHERE NOT EXISTS(
 select 1 from shizi_certificate_member, view_aaa
 WHERE view_aaa.uid = shizi_certificate_member.uid 
and  view_aaa.class2 = shizi_certificate_member.columnid )
compilercradle 2017-08-15
  • 打赏
  • 举报
回复
我处理了一下,脚本如下。 insert into shizi_certificate_member (uid, columnid) SELECT view_aaa.uid, class2 FROM view_aaa WHERE NOT EXISTS( select view_aaa.uid, view_aaa.class2 from shizi_certificate_member, view_aaa WHERE view_aaa.uid = shizi_certificate_member.uid and view_aaa.class2 = shizi_certificate_member.columnid ) 请批评指点,看看有没有错误。 感谢您的回复。
二月十六 2017-08-14
  • 打赏
  • 举报
回复
INSERT INTO  B
SELECT * ,
0
FROM A
WHERE NOT EXISTS ( SELECT *
FROM B
WHERE A.id = B.id
AND B.class = A.class );

SELECT * FROM B

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧