Kuubs
Kuubs

Reputation: 1340

Append string to another table in MySQL

I’ve got a problem selecting some things in my database.

I’ve got 1 database with a lot of tables, however I only use 2 with this specific task. I have a Clothing table, and I need to import this in my new database. I have succesfully transferred a lot of data, but now I need to take 1 final small step into completing this. In my Clothing table I have a column called Youtube link, here I have a link with an Youtube link, this specific link, in this specific column, I want to append that to another table I have in the database, let’s call it new_clothing_table. I there have a description column called prod_desc and I want to append the Youtube link to that column.

But there is also another “problem”, it’s not that every product has a Youtube link, so things have to be filtered in order to not fuck things royally up. A advantage I have, I have in both tables a product_name, and these are all the same. So I want to transfer that specific Youtube link if it’s there (sometimes there is a 0 filled in or nothing, but I dont think it’s NULL because if I make a SELECT query where Youtube_link is null I get zero rows..)

So can someone help me out>?

Upvotes: 1

Views: 147

Answers (1)

Mureinik
Mureinik

Reputation: 311123

has an update-join construct you can use:

UPDATE new_clothing_table nct
JOIN   clothing c ON c.product_name = nct.product_name AND 
       c.youtube_link != '0'
SET    nct.description = CONCAT(nct.description, c.youtube_link)

EDIT:
To make sure this does what you want, you could first select the updated content in order to examine it:

SELECT nct.description AS old_description,
       CONCAT(nct.description, c.youtube_link) AS new_description
FROM   new_clothing_table nct
JOIN   clothing c ON c.product_name = nct.product_name AND 
       c.youtube_link != '0'

Upvotes: 1

Related Questions