C# MySQL插入(如果不存在)/忽略
基本上,我的表格布局如下:C# MySQL插入(如果不存在)/忽略,c#,mysql,insert,exists,ignore,C#,Mysql,Insert,Exists,Ignore,基本上,我的表格布局如下: Type_Of Agreement iPad Heyo! I'm an agreement! iPod Touch I'm another agreement! 基本上,我正在构建一个管理员界面,管理员可以在其中添加新类型。我想让他/她不能输入一个已经存在的新类型。基本上,在上面的例子中,如果他们在新的类型框中输入'iPad'并按下submit,它将被忽略,或者抛出一个错误等等 下面是我现有的MySQL语句: INSERT IGNORE IN
Type_Of Agreement
iPad Heyo! I'm an agreement!
iPod Touch I'm another agreement!
基本上,我正在构建一个管理员界面,管理员可以在其中添加新类型。我想让他/她不能输入一个已经存在的新类型。基本上,在上面的例子中,如果他们在新的类型框中输入'iPad'并按下submit,它将被忽略,或者抛出一个错误等等
下面是我现有的MySQL语句:
INSERT IGNORE INTO agreements (Type_Of, Agreement) VALUES (?, ?)
com.Parameters.AddWithValue("", Request.Form["pies"]);
com.Parameters.AddWithValue("", "Wahey! A sample license!");
(升级到答案)
您需要在的类型上定义一个唯一的
索引。如中所述:
UNIQUE
索引创建一个约束,使得索引中的所有值都必须是不同的。如果尝试添加键值与现有行匹配的新行,则会发生错误。对于所有引擎,UNIQUE
索引允许对可以包含NULL
的列使用多个NULL
值。如果在UNIQUE
索引中为列指定前缀值,则列值在前缀中必须是唯一的
因此:
altertable协议添加唯一索引(类型为);
那么,问题出在哪里?如果INSERT IGNORE
没有达到预期效果,是否在Type\u Of
?Derp上定义了唯一的键。不,我没有。我忘了那部分。谢谢