2011-10-03 53 views
1

我正在开发一个项目。有两个表格,users和mileage_registrants。我们网站的一个模块需要用户进行另一次注册,除了主要访问我们网站的注册外。现在的问题是,我们的客户不想做这样的注册,我不想改变模块的整个架构。所以我想要做的是将user_id从表用户导入mileage_registrants并将其他字段设置为默认值或NULL。如何从一个表导入一些数据到另一个(MYSQL)

表mileage_registrants的结构是这样的:

'id`, `user_id`, `team_id`, `team_leader`, `building_name`, `department`, `phone_ext`, `party_registered`, `creation_date`. 

有超过1000个用户需要做。逐个插入数据是非常可怕的。有什么解决方案可以很快完成这项工作吗?谢谢

回答

10

从一个表格到另一个表格的数据可以这样做很容易。

INSERT INTO table1 (column1,column2) SELECT oldcolumn1,oldcolumn2 FROM table2 

(任选where子句)

在文档看看:http://dev.mysql.com/doc/refman/5.1/en/insert-select.html

+1

打我一拳。这是对的。假设您在mileage_registrants中的ID是自动增加的,请将此字段置于查询之外。如果你只需要真正导入一个领域,那么做那个领域,留下你提到的剩余10个领域。 – JM4

0

试试这个:

 
insert into mileage_registrants (`user_id`, `team_id`, `team_leader`, `building_name`, `department`, `phone_ext`, `party_registered`, `creation_date`) 
SELECT user_id,NULL,NULL,NULL,NULL,NULL,NULL,NULL from users 
+0

不需要设置NULL值,插入到一个字段并从'用户'中选择一个字段 – JM4

+0

如果某些字段的默认值不为NULL,则需要它。没有看到DDL,我走了更安全的路线。 – bot403

+0

好点。他总是可以返回并将这些字段设置为默认NULL,但是在任何情况下,我都会认为它们是相同的。 – JM4

相关问题