我有表:更新數據庫替換爲INTO
select * from person;
+----+------+---------+
| id | name | surname |
+----+------+---------+
| 1 | John | Doe |
| 2 | Mary | Smith |
+----+------+---------+
2 rows in set (0.00 sec)
我需要在MySQL數據庫中,以取代值。所有的值都有相同的ID,所以我試圖:
replace into person (id,name) values (1,'Victor');
select * from person;
+----+--------+---------+
| id | name | surname |
+----+--------+---------+
| 1 | Victor | NULL |
| 2 | Mary | Smith |
+----+--------+---------+
2 rows in set (0.00 sec)
問題是它的姓氏設置爲NULL。
我知道我可以用UPDATE person SET name='Victor' WHERE id=1
做到這一點,但是我有一個包含許多INSERT INTO的轉儲的巨大SQL文件,所以我在考慮使用REPLACE INTO,因爲它具有相同的語法結構,它會更快,只是做搜索&替換(INSERT - > REPLACE INTO)。
編輯: 問題是我有一個巨大的轉儲文件是這樣的:
INSERT INTO person (id,name) VALUES (1,'Victor');
INSERT INTO person (id,name) VALUES (2,'Mark');
INSERT INTO person (id,name) VALUES (3,'Steve');
INSERT INTO person (id,name) VALUES (4,'Lou');
INSERT INTO person (id,name) VALUES (5,'Jessica');
等。
所以I'm希望更新所有那些名字到最簡單的方法數據庫。如果我能做這樣的事情會很棒:UPDATE person SET (id,name) VALUES (1,´Victor')
數據庫轉儲不包含所有信息,只是id和新名稱。 –