如果mysql中的表中存在insert,是否忽略insert?
我的表中有6列:如果mysql中的表中存在insert,是否忽略insert?,mysql,sql,Mysql,Sql,我的表中有6列: Id | Name | Mail id | Gender | Contact Number | father name 在向表中插入数据时,我想检查条件,如姓名、mailid、联系人号码是否已经存在,则不应进行插入,否则应插入记录 任何人都可以建议如何在插入记录时检查条件。您可以在多个列上定义索引,例如: IF NOT EXISTS (SELECT * FROM Table_Name WHERE Condition you are checking) BEGIN INS
Id | Name | Mail id | Gender | Contact Number | father name
在向表中插入数据时,我想检查条件,如姓名、mailid、联系人号码是否已经存在,则不应进行插入,否则应插入记录
任何人都可以建议如何在插入记录时检查条件。您可以在多个列上定义索引,例如:
IF NOT EXISTS (SELECT * FROM Table_Name WHERE Condition you are checking)
BEGIN
INSERT INTO ............. ---<----- Your Insert Statement.....
END
CREATE UNIQUE INDEX arbitrary_index_name ON table_name (Name, mailid, contactnumber);
我也遇到了类似的情况,您可以通过向表中添加唯一约束并使用“insert ignore”语句添加数据来实现这一点 Create table语句:
CREATE TABLE Student (
Id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(50),
Mailid VARCHAR(50),
Gender CHAR,
contactnumber BIGINT,
fathername VARCHAR(50),
UNIQUE(NAME,Mailid,contactnumber));
INSERT IGNORE INTO student(NAME, Mailid,Gender,contactnumber,fathername) VALUES('Shekhar', 's@s.com', 'M', 987654321, 'Joshi');
插入忽略语句:
CREATE TABLE Student (
Id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(50),
Mailid VARCHAR(50),
Gender CHAR,
contactnumber BIGINT,
fathername VARCHAR(50),
UNIQUE(NAME,Mailid,contactnumber));
INSERT IGNORE INTO student(NAME, Mailid,Gender,contactnumber,fathername) VALUES('Shekhar', 's@s.com', 'M', 987654321, 'Joshi');
也许这有助于您:如果元组名称、MailID、ContactNumber应该是唯一的,那么您应该在其上定义一个唯一的索引来强制执行该约束。然后可以使用更简单的INSERT IGNORE。否则,按照穆罕默德·阿里的回答去做。参考下面的链接,如果不存在的话,效果应该很好……欢呼这是当你在看电视和回答问题时发生的事情: