开发者

I need to take all unique data from a mysql table and put it into a new table

开发者 https://www.devze.com 2023-01-03 18:07 出处:网络
I have a database table (mysql 5) something like this example data: id,name,description 1,example,test description

I have a database table (mysql 5) something like this example data:

id,name,description

1,example,test description

2,example,different desc

3,example2,another desc

4,exampl开发者_运维问答e3,blah blah blah

(note that #1 and #2 have the same name, 3 and 4 are unique.

what i want to do is make a new table, with just this data:

1,example,test description

3,example2,another desc

4,example3,blah blah blah

ie, make sure column #2 is unique.

how can i do this easily? i have no preference as to what ones it doesnt keep


Try this:

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

If you want your ID's to be re-generated, you can drop the id columns from that query, provided that your ID column is auto_increment.

Another way is to put an UNIQUE constraint on name field in new_table and use the IGNORE keyword:

INSERT IGNORE INTO
    new_table(`id`, `name`, `description`)
SELECT `id`, `name`, `description` FROM old_table
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号