[英]copying selected columns from one table to another using trigger in phpmyadmin
[英]Copying two columns from one table to another
在其他任何地方都找不到我正在寻找的东西。
所以我有表1
users
----------
id
username
password
bio
isuser
email
和表2
wp_users
----------
id
user_login
nice_username
password
email
“ wp_users”表中有500行。 我想将每一行的“ id”和“ user_login”复制到用户表(“ id”和“ username”)中。
我怎样才能做到这一点? MySQL不是我的强项。
更新:我在尝试简化表格时更新了上面的表格,但得到的解决方案却是错误的。
您可以使用INSERT
- SELECT
语句:
INSERT INTO `users` (id,username,password,bio,isuser,email) SELECT id,
user_login,null,null,null,null FROM `wp_users`;
您可以在SELECT
部件的每个字段上放置另一个字段,甚至可以放置静态数据。 我将null只是为了说明。
只要记住SELECT
提取的任何内容都会插入INSERT
语句所说的表中(因此您可以在SELECT
部分使用WHERE
, GROUP BY
, HAVING
等子句)。
我相信您正在寻找一个简单的插入语句:
INSERT INTO users (id,username)
SELECT W.id,
W.user_login
FROM wp_users W
WHERE NOT EXISTS (SELECT NULL
FROM users U
WHERE U.ID = W.ID);
我假设用户表中的其他列可以为空,如果不能,则可以向select语句添加更多列,并使用其他列中的值。
您没有提到任何其他键或约束,因此我假设没有任何键或约束。
我还提供了WHERE
子句中的检查,以查看同一ID是否已经存在一行,因此您只需为每个ID插入一行即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.