2
table name: mysample.
table columns: id - PK, names - pk, age.
內MYSAMPLE行:更換,如果相同的主鍵
id names age
1 Nicole 19
2 Sam 20
3 Mark 15
我使用MySQL工作臺。
這就是結果後,我用這個查詢:
load data local infile 'C:/Users/mysample.csv' into table mysample fields terminated by ','
enclosed by '"'
lines terminated by '\n'
ignore 1 lines
(names, age)
這將CSV文件加載到數據庫中。我修改了csv文件並進行了這些更改。
內修改CSV文件:
names age
Nicole 20
Sam 15
Mark 13
May 10
我想實現的是行妮可,薩姆和馬克將被更新從而不具有相似的名稱。這就是爲什麼我將名稱作爲主鍵。我搜索並找到REPLACE查詢語法。
load data local infile 'C:/Users/mysample.csv' replace into table mysample fields
terminated by ','
enclosed by '"'
lines terminated by '\n'
ignore 1 lines
(names, age)
但我得到了我的數據庫中的這些結果:
id names age
1 Nicole 19
2 Sam 20
3 Mark 15
4 Nicole 20
5 Sam 15
6 Mark 13
7 May 10
如何指定替換查詢使用相同的主鍵來代替行?
只是要ID是唯一首要的關鍵。從主鍵刪除名稱 – Madhawas
[**使名稱UNIQUE而不是主要這種方式它不會重複註冊重複的名稱。**](http://stackoverflow.com/a/13425727/342740) – Prix
這只是一個例子。我的真實數據有一個銷售訂單項目編號,這將是我的主要關鍵。我用auto_increment刪除了列,並將名稱作爲我唯一的主鍵,當我在此示例表和數據上嘗試時,它就起作用了。但是,當我在我的實際數據上使用它時,我得到了錯誤錯誤代碼:1366.錯誤的整數值:''在第1行的'coupon_percent'列。現在我不知道什麼地方出錯了。 – nicole101