重複匯入紀錄

  1. 刪除 Primary key 或移除 auto_increment 特徵,兩者都無法單獨刪除或變更,必須於刪除 primary key 時,同時變更 id 的欄位特徵。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "alter table dyw.animals \
    drop primary key, change id id int(10) unsigned"
    
  2. 再查看資料表 animals 的欄位 id 設定,沒有 key 且沒有 auto_increment 特徵。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "desc dyw.animals;"
    +-------+---------------------+------+-----+---------+-------+
    | Field | Type                | Null | Key | Default | Extra |
    +-------+---------------------+------+-----+---------+-------+
    | id    | int(10) unsigned    | YES  |     | NULL    |       |
    | name  | varchar(20)         | NO   |     | NULL    |       |
    | foot  | tinyint(3) unsigned | NO   |     | NULL    |       |
    +-------+---------------------+------+-----+---------+-------+
    
  3. 再用 mysqlimport 指令,將檔案 animals.txt 的紀錄匯入到資料庫 dyw,回應有 4 筆紀錄。 --local 是從 client 讀取檔案。
    [root@kvm3 ~]# mysqlimport -uroot -p123qwe --local dyw animals.txt
    dyw.animals: Records: 4  Deleted: 0  Skipped: 0  Warnings: 0
    
  4. 登入 mariaDB 查看,資料表 animals 新增 4 筆重複紀錄。
    [root@kvm3 ~]# mariadb -uroot -p123qwe -e "select * from dyw.animals;"
    +------+---------+------+
    | id   | name    | foot |
    +------+---------+------+
    |    1 | dog     |    4 |
    |    2 | cat     |    4 |
    |    3 | bird    |    2 |
    |    4 | chicken |    2 |
    |    1 | dog     |    4 |
    |    2 | cat     |    4 |
    |    3 | bird    |    2 |
    |    4 | chicken |    2 |
    +------+---------+------+