我有一个名为members
的SQL表
| member_id | first_name | last_name | email | password | phone_number | country |
|-----------|------------|-----------|----------------------------|----------|--------------|---------|
| 1 | John | Doe | john.doe@rambo.vid | 123456 | 654789159 | en_US |
| 2 | Jules | Ferry | jules.ferry@politician.old | 456789 | | fr_FR |
我想创建一个新表users
并使用user_id这样的方式移动数据:
| user_id | first_name | last_name | email | password |
|---------|------------|-----------|----------------------------|----------|
| 1 | John | Doe | john.doe@rambo.vid | 123456 |
| 2 | Jules | Ferry | jules.ferry@politician.old | 456789 |
| member_id | user_id | phone_number | country |
|-----------|---------|--------------|---------|
| 1 | 1 | 654789159 | en_US |
| 2 | 2 | | fr_FR |
MySQL中修改现有数据库的最佳方法(更有效的执行)是什么?
答案 0 :(得分:0)
这就是我的想法:
INSERT INTO users ( user_id, member_id, first_name, last_name, email, password)
SELECT <user_id>, -- Wherever this needs to come from or remove if its generated.
member_id, first_name, last_name, email, password
FROM members;
其次:
UPDATE members m INNER JOIN users u
ON m.member_id = u.member_id
SET m.user_id = u.user_id
我在用户表中添加了您没有的member_id字段。如果您没有这样做的选项,则可以使用其他标识符来联接表。