我的表中有6列:
Id | Name | Mail id | Gender | Contact Number | father name
在将数据插入表格时,我想检查条件,如果Name,mailid,contact number
已经存在,那么插入不应该发生,否则应该插入记录。
任何人都可以建议在插入记录时如何检查条件。
答案 0 :(得分:1)
IF NOT EXISTS (SELECT * FROM Table_Name WHERE Condition you are checking)
BEGIN
INSERT INTO ............. ---<----- Your Insert Statement.....
END
答案 1 :(得分:0)
您可以在多个列上定义索引,例如:
CREATE UNIQUE INDEX arbitrary_index_name ON table_name (Name, mailid, contactnumber);
答案 2 :(得分:0)
我也遇到过类似情况,您可以通过在表格中添加唯一约束并使用&#39; insert ignore&#39;声明添加数据。
创建表语句:
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');