我需要从mysql表中获取所有唯一数据并将其放入新表中

时间:2010-06-15 12:55:03

标签: mysql

我有一个数据库表(mysql 5),就像这个示例数据:

ID,名称,描述

  

1,示例,测试说明

     

2,示例,不同的desc

     

3,示例 2 ,另一个desc

     

4,示例 3 ,等等等等等等等

(请注意,#1和#2具有相同的名称,3和4是唯一的。

我想做的是创建一个新表,只有这些数据:

  

1,例如,测试说明

     

3,example2,另一个desc

     

4,example3,blah blah blah

即确保第2列是唯一的。

我怎么能轻易做到这一点?我没有偏好它不保留的东西

1 个答案:

答案 0 :(得分:3)

试试这个:

INSERT INTO
    new_table(`id`, `name`, `description`)
SELECT `id`, `name`, `description` FROM old_table GROUP BY `name`

如果您希望重新生成ID,则可以从该查询中删除id列,前提是您的ID列为auto_increment

另一种方法是在UNIQUE的{​​{1}}字段上加name约束,并使用new_table关键字:

IGNORE