仅当特定列中的数据不存在于 table 某处时才插入 MySQL 行
Insert a MySQL row only if the data in the specific columns does not already exists in the table somewhere
已创建以下table:
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)
);
目标是仅当电子邮件或该行的 phone 在 table 中某处不存在时才输入新行。
换句话说,如何避免在整个 table 中输入重复的电子邮件或 url 值:如果电子邮件或 phone 已经存在于 table 某处, 不要输入整个新行。
使用哪个脚本?如果是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)
);
已创建以下table:
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)
);
目标是仅当电子邮件或该行的 phone 在 table 中某处不存在时才输入新行。
换句话说,如何避免在整个 table 中输入重复的电子邮件或 url 值:如果电子邮件或 phone 已经存在于 table 某处, 不要输入整个新行。
使用哪个脚本?如果是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)
);