我有下表:
CREATE TABLE IF NOT EXISTS `customer_list` (
`id` INT AUTO_INCREMENT,
`first_name` char(4) NOT NULL,
`last_name` varchar(80) NOT NULL,
`phone` varchar(50) NOT NULL,
`province` varchar(50) NOT NULL,
`country` varchar(30) NOT NULL,
`start_date` TIMESTAMP NOT NULL,
`end_date` TIMESTAMP NOT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
我希望能够插入到这个表中,唯一的限制是 first_name、last_name 和 phone 不能相同。如果它们相同,我希望返回某种错误以警告最终用户记录已经存在 - 不执行插入/更新/替换操作。
这里的关键是 INSERT 语句必须以某种方式检查 3 个字段是否重复。仅当所有 3 个字段都重复时,才必须返回错误。IE。3 个中的 1 个或 2 个允许重复,仍然可以输入。
一个 INSERT 语句可以做到这一点吗?