我有2张桌子。 Auth
和User
Auth有ff。列(源)18883行
id | username | password
用户拥有ff。列(目的地)18868行
id | username | first name | last name | email
嗯
auth.id = user.id
auth.username = user.username
现在由于某种原因,User
表中包含缺少某些用户名的行。
我想要做的是创建一个脚本,在User
上查找缺少的行,并插入来自Auth
的ID和用户名,然后插入first name
='fname',last name
= 'lname',email
='name@domain.com'。
因此两个表将具有相同的行数并且同步。
谢谢。
答案 0 :(得分:1)
你不清楚缺少什么。 。 。 id或用户名或两者。假设用户名指定缺失,则以下查询执行您想要的操作:
insert into user(id, uesrname, firstname, lsatname, email)
select a.id, a.username. 'fname', lname', 'name@domain.com'
from auth a left outer join
user u
on a.username = u.username
where u.id is null
这假设用户表中没有重复用户名。
看起来奇怪的是,名为“id”的列在两个表中都具有相同的值。您应该重新访问您的数据结构,看看是否真的如此。通常情况下,“id”将是一个自动递增的主键。