2014-09-19 126 views
1

因此,根据我的需要,我必须将table1中的数据复制到table2,并为此我使用INSERT SELECT QUERY。那就是:INSERT SELECT查询中的自定义值

$sql = "INSERT INTO `attribute_details_versions`(`attribute_details_id`,`attribute_name`,`attribute_text`,`attribute_value`,`created_at`,`updated_at`) SELECT `attribute_details_id`,`attribute_name`,`attribute_text`,`attribute_value`,`created_at`,`updated_at`FROM `attribute_details`"; 

在上面的查询从attribute_details中的数据复制到attribute_details_versions表,这是工作的罚款。

但有1多个列versionattribute_details_versions,我需要提交像在此列中的任何整数值(1或2或等)的自定义值。 version column is not exist in attribute_details`表所以我如何插入这个自定义值使用SELECT插入查询?

任何帮助,将不胜感激。

+0

它是所有行相同的值? – VMai 2014-09-19 10:11:50

+0

@VMai是的,它对于所有行都是一样的。 – 2014-09-19 10:12:41

回答

5

如果需要为所有值一样,你可以简单地选择它需要数:

$sql = "INSERT INTO `attribute_details_versions`(`attribute_details_id`,`attribute_name`,`attribute_text`,`attribute_value`,`created_at`,`updated_at`, `version `) SELECT `attribute_details_id`,`attribute_name`,`attribute_text`,`attribute_value`,`created_at`,`updated_at`, 2 FROM `attribute_details`"; 
+0

太棒了!我做了同样的事情,除了2作为“2”,应该只有“2”。现在它可以工作。 – 2014-09-19 10:15:21