仅当表A中没有记录时,才将表B中的记录插入表A中

时间:2012-07-09 01:41:17

标签: mysql

我有两张表..表A和表B(MySQL)

Table-A has id,value,name..    and 
Table-B has id,name,email,address..

我喜欢在表A中将“id”作为“值”插入表A中,只要在表A中'id'(TableB)不存在为'Value'

我可以使用这个

INSERT INTO `TableA`( `value`,  `name`) 
SELECT id,name FROM TableB 
WHERE TableB.id NOT IN TableA.value

2 个答案:

答案 0 :(得分:0)

您需要使用以下代码:

WHERE NOT EXISTS (select * from TableA where TableA.value = TableB.id)

答案 1 :(得分:0)

您可以使用此解决方案:

INSERT INTO TableA (value, name)
SELECT b.id, b.name
FROM TableB b
LEFT JOIN TableA a ON b.id = a.value
WHERE a.id IS NULL