Reputation: 2984
How can I make a copy values from one column to another?
I have:
Database name: list
-------------------
number | test
-------------------
123456 | somedata
123486 | somedata1
232344 | 34
I want to have:
Database name: list
----------------
number | test
----------------
123456 | 123456
123486 | 123486
232344 | 232344
What MySQL query should I have?
Upvotes: 218
Views: 240875
Reputation: 11
IF Anyone wants to put Condition
UPDATE bohf
SET Sq
=IDNo
WHERE Table
= 'AOF' AND FormSq
BETWEEN 13 AND 17
Upvotes: 0
Reputation: 1028
try following:
UPDATE `list` SET `test` = `number`
If list
is table name and test
and number
are columns
it creates copy of all values from "number" and paste it to "test"
Upvotes: 9
Reputation: 25918
Short answer for the code in question is:
UPDATE `table` SET test=number
Here table
is the table name and it's surrounded by grave accent (aka back-ticks `) as this is MySQL convention to escape keywords (and TABLE
is a keyword in that case).
This is pretty dangerous query which will wipe everything in column test
in every row of your table replacing it by the number
(regardless of it's value)
It is more common to use WHERE
clause to limit your query to only specific set of rows:
UPDATE `products` SET `in_stock` = true WHERE `supplier_id` = 10
Upvotes: 461
Reputation: 5043
BEWARE : Order of update columns is critical
GOOD: What I want saves existing Value of Status to PrevStatus
UPDATE Collections SET PrevStatus=Status, Status=44 WHERE ID=1487496;
BAD: Status & PrevStatus both end up as 44
UPDATE Collections SET Status=44, PrevStatus=Status WHERE ID=1487496;
Upvotes: 10
Reputation: 1467
Following worked for me..
for a table say, 'test_update_cmd', source value column col2, target value column col1 and condition column col3: -
UPDATE test_update_cmd SET col1=col2 WHERE col3='value';
Good Luck!
Upvotes: 6
Reputation: 14992
UPDATE `table_name` SET `test` = `number`
You can also do any mathematical changes in the process or use MySQL functions to modify the values.
Upvotes: 37