Mysql 无法避免在数据库中重复插入
我有一个表,我在其中添加值,我希望避免表中的所有重复插入 我的问题是:Mysql 无法避免在数据库中重复插入,mysql,sql,sqlite,Mysql,Sql,Sqlite,我有一个表,我在其中添加值,我希望避免表中的所有重复插入 我的问题是: INSERT INTO Categories (Name, Image) VALUES ("Womens Fashion", "http://static.abcd.com/images/nw-cat12-big.png") WHERE Name="Womens Fashion" not in ( SELECT Name from Categories WHERE Name="Womens Fashion" ) 错误
INSERT INTO Categories (Name, Image) VALUES ("Womens Fashion", "http://static.abcd.com/images/nw-cat12-big.png") WHERE Name="Womens Fashion" not in
(
SELECT Name from Categories WHERE Name="Womens Fashion"
)
错误消息:靠近“WHERE”的语法错误
请提前帮助和感谢。试试这个:
INSERT INTO table1
SELECT *
FROM (SELECT 'Womens Fashion' name,
'http://static.abcd.com/images/nw-cat12-big.png' images)t1
WHERE t1.name NOT IN (SELECT name
FROM table1);
创建唯一索引。所需的逻辑是什么?我不明白你想用你的查询实现什么,我想避免在名为
Name
的列中重复插入,如何在名为Name
的列中创建唯一索引添加唯一索引,这样做可以帮助你尝试:ALTER TABLECategories
添加唯一索引(Name
);好家伙,这很管用是的,我的朋友,但这是错误的做法。相关的密钥应该被定义为唯一的。谢谢你的评论,但我只是回答问题,我没有说这是好的还是坏的方法。