仅当特定列中的数据在某处的表中尚不存在时,才插入 MySQL 行



已创建下表:

CREATE TABLE contacts (
    id INT (11) NOT NULL AUTO_INCREMENT,
    email VARCHAR (255) NOT NULL,
    phone VARCHAR (255) NOT NULL,
    url VARCHAR (255) NOT NULL,
    PRIMARY KEY (id, email, phone, url)
); 

目标是仅当表中某处不存在该行的电子邮件或电话时,才输入该行。

换句话说,如何避免在整个表中输入重复的电子邮件或 url 值:如果电子邮件或电话已存在于表中的某个位置,请不要输入整个新行。

使用哪个脚本?如果它是一个Python条目会更好。

将两行定义为 UNIQUE,因此 mysql 不允许您两次输入相同的电子邮件或号码。

但是你不应该让这个号码唯一,那么两个人可以共享同一个号码。

CREATE TABLE contacts (
id INT (11) NOT NULL AUTO_INCREMENT,
email VARCHAR (255) NOT NULL UNIQUE,
phone VARCHAR (255) NOT NULL UNIQUE,
url VARCHAR (255) NOT NULL,
PRIMARY KEY (id, email, phone, url)
);

最新更新