我在我的应用程序中编写注册表单,用户名和用户的电子邮件必须是唯一的。 我运行一个mysql数据库并使用node-mysql(v 2.0.0)作为驱动程序。正确使用node-mysql处理重复的密钥
当用户试图使用在数据库中已经注册的名称时,MySQL会引发以下错误:Error: ER_DUP_ENTRY: Duplicate entry 'John' for key 'nickname'
,但在通过节点的MySQL提出的Error对象包含有关错误没有有用的信息:
console.log(JSON.stringify(err));
{ “代码”: “ER_DUP_ENTRY”, “错误号”:1062, “SQLSTATE”: “23000”, “指数”:0}
我在哪里可以得到所涉及的条目,关键?我需要知道哪个密钥nickname
或密钥email
负责重复密钥错误,以便我可以警告用户。
我知道我可以找到这个信息做err.toString()
和解析结果(其中包含是mysql错误字符串本身),但我想知道是否有更好的方式来这样做。
你尝试'的console.log(err.message):这种方法是自动
JSON.stringify()
如果它检测到您在传递其价值存在着一个叫实例。 ;'? – mscdex 2014-09-13 18:35:41@mscdex:哦,不知道err.message!它怎么不出现在'JSON.stringify(err)'或'for(key in err){...}'中? – user2294139 2014-09-14 19:03:55