我有表列前綴具有列值。該值具有文字類型。我想將ID爲7的行的值字段值複製到ID爲1的行的值字段。您可以幫助如何做到這一點。我知道MS SQL,但我是mySQL的新手。如何在mySQL中將文本列值從一行復制到另一行
create table pref
(
id int,
value text
)
我有表列前綴具有列值。該值具有文字類型。我想將ID爲7的行的值字段值複製到ID爲1的行的值字段。您可以幫助如何做到這一點。我知道MS SQL,但我是mySQL的新手。如何在mySQL中將文本列值從一行復制到另一行
create table pref
(
id int,
value text
)
在MySQL中,您不能使用正在更新的同一張表中的子查詢,但可以使用連接。
UPDATE pref AS target
LEFT JOIN pref AS source ON source.id = 7
SET target.value = source.value
WHERE target.id = 1;
這工作,謝謝。 – mohang 2011-01-21 12:56:24
UPDATE
pref
SET
value = (SELECT value WHERE id = 7)
WHERE
id = 1
以我爲例,我試圖從一列在同一個表複製的加密值到一個空場的另一行。在這種情況下,我需要將約翰的PIN碼複製到Jane的PIN碼中。
@mohang說得對。這裏是我的改編:)
name pin
john sdhjduwhdowodw7d87e838g83g8g3of...
jane
//copy from field with value into empty field
UPDATE my_table AS target
LEFT JOIN my_table AS source ON source.pin != ""
SET target.pin = source.pin
WHERE target.pin = "";
// Hurray, it works!
name pin
john sdhjduwhdowodw7d87e838g83g8g3of...
jane sdhjduwhdowodw7d87e838g83g8g3of...
您是否嘗試過爲MS SQL編寫的SQL?什麼失敗了? – sarnold 2011-01-21 07:48:44