Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MySQL: insert values from another table into one column

Tags:

mysql

I am wanting to move items from one table into another using MySQL.

This is what I currently use:

INSERT INTO items_rooms (item_id, room_id,x,y,n)  
SELECT id, room_id,x,y,z
  FROM `items_phoenix`

This works, however I am wanting to insert multiple values into one column instead of each values in different columns.

For example:

In table items_rooms, I would like values x and y from items_phoenix to be placed into one column in items_rooms.

If x = 5 and y = 2, can I save it into items_rooms like this: one column: 5.2 instead of different columns for each values?

Sorry if this is confusing!

like image 554
zuc0001 Avatar asked Jan 09 '13 00:01

zuc0001


People also ask

How can I add values to one column in a table in MySQL?

First, you must specify the name of the table. After that, in parenthesis, you must specify the column name of the table, and columns must be separated by a comma. The values that you want to insert must be inside the parenthesis, and it must be followed by the VALUES clause.

How can we fetch data from one table and insert into another table in MySQL?

The SQL INSERT INTO SELECT Statement The INSERT INTO SELECT statement copies data from one table and inserts it into another table. The INSERT INTO SELECT statement requires that the data types in source and target tables match. Note: The existing records in the target table are unaffected.

How can I add multiple values in one column in MySQL?

First, specify the name of table that you want to insert after the INSERT INTO keywords. Second, specify a comma-separated column list inside parentheses after the table name. Third, specify a comma-separated list of row data in the VALUES clause. Each element of the list represents a row.


1 Answers

You can use expressions in your SELECT column-list. As long as the columns in the select-list and the columns in the destination table match in number and data type, you can do something like this:

INSERT INTO items_rooms (item_id, room_id, x_dot_y, n)  
SELECT id, room_id, CONCAT(x,'.',y), z
  FROM `items_phoenix`
like image 118
Bill Karwin Avatar answered Oct 10 '22 00:10

Bill Karwin