我尝试执行 INSERT IF NOT EXISTS
所以我搜索了这个,发现:How to 'insert if not exists' in MySQL?
所以我尝试使用 IGNORE
,这是我的表:
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255),
`mail` VARCHAR(255),
PRIMARY KEY (`id`)
) CHARACTER SET utf8 COLLATE utf8_general_ci;
这是我的查询:
INSERT IGNORE INTO `users` SET `mail` = ?, `name` = ?
但它的插入即使存在 所以我搜索了一下,发现:mySQL INSERT IGNORE doesn't "ignore"
我在那里读到只有使用 PRIMARY KEY 它的 dosent 插入重复项
所以你可以在我的表中看到我有 PRIMARY KEY
如果问题是我需要在我的查询中插入 id 字段它的问题是因为我在执行查询时不知道它是什么
那么如何在不创建重复项的情况下将信息插入数据库?
最佳答案
您必须先使用要插入的信息进行选择,如果结果包含一行或多行,则不要插入。
例如,运行查询 SELECT count(*) from users where mail = ?和名字 = ?
然后查看返回的结果对象,根据它插入或跳过。
关于php - 插入忽略不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044980/