需要幫助刪除 MySQL 表中的重複列?
要刪除重複列,請將 DELETE 與 INNER JOIN 結合使用。以下是語法:
delete tbl1 from yourTableName anyAliasName1 inner join yourTableName anyAliasName2 where yourCondition1 and yourCondition2
我們建立一個表:
mysql> create table demo14 −> ( −> id int not null auto_increment primary key, −> name varchar(30) −> ); Query OK, 0 rows affected (1.89 sec)
使用 insert 命令在表中插入一些記錄:
mysql> insert into demo14(name) values('John');
Query OK, 1 row affected (0.14 sec)
mysql> insert into demo14(name) values('David');
Query OK, 1 row affected (0.18 sec)
mysql> insert into demo14(name) values('David');
Query OK, 1 row affected (0.09 sec)
mysql> insert into demo14(name) values('Bob');
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo14(name) values('John');
Query OK, 1 row affected (0.45 sec)
mysql> insert into demo14(name) values('Carol');
Query OK, 1 row affected (0.16 sec)使用 select 語句顯示錶中的記錄:
mysql> select *from demo14;
這會產生以下輸出:
+----+-------+ | id | name | +----+-------+ | 1 | John | | 2 | David | | 3 | David | | 4 | Bob | | 5 | John | | 6 | Carol | +----+-------+ 6 rows in set (0.00 sec)
以下是用於從表中刪除重複列的查詢:
mysql> delete tbl1 from demo14 tbl1 −> inner join demo14 tbl2 −> where −> tbl1.id < tbl2.id and −> tbl1.name = tbl2.name −> ; Query OK, 2 rows affected (0.20 sec)
使用 select 語句顯示錶中的記錄:
mysql> select *from demo14;
這會產生以下輸出:
+----+-------+ | id | name | +----+-------+ | 3 | David | | 4 | Bob | | 5 | John | | 6 | Carol | +----+-------+ 4 rows in set (0.00 sec)
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP