mysql 唯一字段
我有一个带有唯一字段 uniq_field 的表。添加什么方法更好-首先检查具有唯一值的记录是否存在,或者简单地添加记录,mysql会自己检查?
i have table with unique field uniq_field. what method adding is better- first check if record with unique value exists or simply add record and mysql will check by himself?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这取决于您在重复情况下要采取的操作
可能的解决方案可以用这样的伪代码显示
it depends on the action you gonna take in case of duplicate
possible solutions can be shown in such a pseudo code
这取决于您想如何在代码中处理它。
如果您只想确保该元素存在,则可以执行所谓的插入 - 在重复键更新时 - 这意味着如果该行已经存在,则该行将被替换 - 但如果不存在,则会更新。
有关该主题的更多信息,请参见: http://dev.mysql .com/doc/refman/5.1/en/insert-on-duplicate.html
it depends on how you want to handle it in your code.
If you just want to make sure that element exists, you can do what's called a insert - on duplicate key update - that means that the row gets replaced if it's already present - but if it's not, it gets updated.
More on that topic here: http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html
对于这个表来说
这个代码返回
false
而这个代码返回
1
看来如果你想显示消息,那么你应该检查数据库中的值并显示错误。如果你不想显示实际导致的原因和错误那么你可以直接查询。
Well for this table
This code returns
false
While this code returns
1
It seems that if you want to display message, then you should check for values in you database and display an error. If you don't want to display what actually caused and error then you can directly query.