UYOU
我不是真的建议你这么做,因为UNIQUEPiskvor和其他人建议的索引是一个更好的方法,但实际上您可以做您想做的事情:CREATE TABLE `table_listnames` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `address` varchar(255) NOT NULL, `tele` varchar(255) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB;插入记录:INSERT INTO table_listnames (name, address, tele)SELECT * FROM (SELECT 'Rupert', 'Somewhere', '022') AS tmpWHERE NOT EXISTS ( SELECT name FROM table_listnames WHERE name = 'Rupert') LIMIT 1;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0SELECT * FROM `table_listnames`;+----+--------+-----------+------+| id | name | address | tele |+----+--------+-----------+------+| 1 | Rupert | Somewhere | 022 |+----+--------+-----------+------+再次尝试插入相同的记录:INSERT INTO table_listnames (name, address, tele)SELECT * FROM (SELECT 'Rupert', 'Somewhere', '022') AS tmpWHERE NOT EXISTS ( SELECT name FROM table_listnames WHERE name = 'Rupert') LIMIT 1;Query OK, 0 rows affected (0.00 sec)Records: 0 Duplicates: 0 Warnings: 0+----+--------+-----------+------+| id | name | address | tele |+----+--------+-----------+------+| 1 | Rupert | Somewhere | 022 |+----+--------+-----------+------+插入不同的记录:INSERT INTO table_listnames (name, address, tele)SELECT * FROM (SELECT 'John', 'Doe', '022') AS tmpWHERE NOT EXISTS ( SELECT name FROM table_listnames WHERE name = 'John') LIMIT 1;Query OK, 1 row affected (0.00 sec)Records: 1 Duplicates: 0 Warnings: 0SELECT * FROM `table_listnames`;+----+--------+-----------+------+| id | name | address | tele |+----+--------+-----------+------+| 1 | Rupert | Somewhere | 022 || 2 | John | Doe | 022 |+----+--------+-----------+------+以此类推.。