mysql 防止重复插入

INSERT IGNORE into `user` (id,`name`,gender)

VALUES(1,"lgtest",2)

INSERT into `user` (id,`name`,gender)

VALUES(1,"lgtest1",23) ON DUPLICATE KEY UPDATE

`name`="lgtest1" , gender=23

SELECT * FROM `user`

REPLACE into `user` (id,`name`,gender)

VALUES(1,"lgtest",2)

INSERT into `user` (id,`name`,gender)

SELECT 1,"lgtest",23 FROM `user` WHERE NOT EXISTS (SELECT `name` FROM `user` WHERE `name` = 'lgtest')

CREATE TABLE `user` (

`id` int NOT NULL AUTO_INCREMENT,

`name` varchar(255) COLLATE utf8mb4_0900_as_ci DEFAULT NULL,

`gender` int DEFAULT NULL,

PRIMARY KEY (`id`),

KEY `Index_gender_name` (`gender`,`name`)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_as_ci

猜你喜欢

转载自blog.csdn.net/weixin_39355187/article/details/128775887