只有在表中不存在数据时,我才尝试执行sql。我有一个语言表,它有一个自动递增的主id字段和一个string description字段来捕获该语言的名称(例如。(英文)我想要能够插入到数据库,只有当描述字段还没有。首要身份并不重要。所以,如果"English“不是表中的值,我只想插入到表中。另外,我只得到了检查它是否已经在数据库中的描述(我提到这一点,因为ON重复键要求所有字段都匹配,而我没有id)。
我搜索并尝试了这么多的查询,没有任何一个产生正确的结果。任何想法都会有帮助。谢谢。
发布于 2015-12-28 19:53:30
您只需向description字段添加一个唯一的约束。
然后在代码中使用“在重复键更新上插入.”。请参考此链接。
发布于 2015-12-28 21:14:43
如果您需要更新具有唯一键冲突的行-您应该使用"meda“回答。如果只需要插入行而不需要重复,还应该添加唯一约束,但使用查询:
插入忽略表集..。
此查询将插入没有冲突的行,并忽略其他没有任何mysql错误的行。
https://stackoverflow.com/questions/34499785
复制相似问题