文章詳情頁
MySQL之同表一個(gè)字段如何賦值給另一個(gè)字段
瀏覽:7日期:2023-07-28 19:59:55
目錄mysql同表一個(gè)字段賦值給另一個(gè)字段mysql表table_a B字段值賦值給A字段 update 語句mysql同一張表中的一個(gè)字段的值替換另一個(gè)字段方法一方法二總結(jié)mysql同表一個(gè)字段賦值給另一個(gè)字段
將同一個(gè)表中的一個(gè)字段的值復(fù)制給另一個(gè)字段
UPDATE t_user ?SET signed_time = create_time?將同一個(gè)表中兩個(gè)類型一樣的字段的值互換
UPDATE t_user u1, t_user u2?SET u1.signed_time = u2.create_time, ?? ? u2.create_time = u1.signed_time ?mysql表table_a B字段值賦值給A字段 update 語句-- 同一個(gè)表UPDATE table_a SET A=(SELECT B FROM (SELECT * FROM table_a) b WHERE b.id = table_a.id)-- 兩個(gè)(一樣的)表UPDATE table_a SET A = (SELECT B FROM table_b WHERE table_b.id= table_a.id)-- 例子-- UPDATE FY_MEDICINE_DIRECTION SET MEDICINE_NAME=(SELECT COMMON_NAME FROM (SELECT * FROM FY_MEDICINE_DIRECTION) b WHERE b.id = FY_MEDICINE_DIRECTION.id) WHERE SOURCES='參考《國家醫(yī)保藥品手冊》(2017版)' AND MED_ISTATUS=1-- UPDATE message SET image=(SELECT istatus FROM (SELECT * FROM message) b WHERE b.id = message.id)mysql同一張表中的一個(gè)字段的值替換另一個(gè)字段要求:
替換成
測試數(shù)據(jù):
CREATE TABLE `test` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, PRIMARY KEY (`id`) USING BTREE) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;-- ------------------------------ Records of test-- ----------------------------INSERT INTO `test` VALUES (1, 'a');INSERT INTO `test` VALUES (2, 'b');INSERT INTO `test` VALUES (3, 'c');INSERT INTO `test` VALUES (4, 'd');INSERT INTO `test` VALUES (5, 'e');方法一以前以為set就是:key = value,沒想到可以直接將兩個(gè)字段放上去進(jìn)行賦值。
UPDATE test SET value = id;-- 若有其他條件往后面添加就行 update table set field1 = field2 where ...方法二這種方法針對兩個(gè)表的數(shù)據(jù)同步
update A inner join(select id,name from B) c on A.id = c.id set A.name = c.name;用在這里就是創(chuàng)建一個(gè)臨時(shí)表(將test表復(fù)制一份),然后使用這種方法。
總結(jié)以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
標(biāo)簽:
MySQL
數(shù)據(jù)庫
相關(guān)文章:
排行榜
