2
我有一個表:MySQL的按列的索引插入唯一記錄
table user(
id_user,
userName,
email,
primary key(id_user)
);
我添加唯一索引就可以了:
alter table user add unique index(userName, email);
現在我對錶中的兩個指數法:
Index:
Keyname Unique Field
PRIMARY Yes id_user
userName Yes userName, email
該任務是查找MySQL語句以最快的方式插入新的唯一的記錄。 聲明應該返回新的或存在的記錄的Id_user
。
我正在考慮這2種選擇,不知道哪個好或者是有一些更好的三分之一的方式來做到這一點?:
1.
INSERT INTO `user` (`userName`, `email`)
VALUES (u1,'[email protected]')
ON DUPLICATE KEY Ignore
問:凡在本語句應該被指定爲唯一插入所需的KEY是Keyname = uesrName?
2.
IF EXISTS(SELECT `userName`, `email` FROM user WHERE `userName` = u1 AND `email` = [email protected])
BEGIN
END
ELSE
BEGIN
INSERT INTO user(`userName`, `email`)
VALUES (u1, [email protected]);
END IF;
問:在此聲明 - 如何與鍵名索引=用戶應考慮採取?
謝謝!