我在mysql中创建了一个名为student的表,其中2列名为" S-id int not null auto_increment 14012040"和" S-name varchar(45)not null unique" "主键(S-id)" .... 表已成功创建..但是在将一条记录插入数据库之后,在下一次插入时它显示错误,如#34;不允许重复主键" ... PLZ hlp我应该做什么... 在下面我发布屏幕截图....
[第一次插入成功] [2]
答案 0 :(得分:1)
您的主键S-id具有默认值(14012040)。 您只插入S-name和studentcol列的值,因此它将一次又一次地使用S-id默认值。 当它首先运行时,它可以使用默认值,因为它不存在于表中。但第二次会引发错误。 您应该使用自动增量进行S-id,因为ÁlvaroTouzón表示。
<强>更新强>
根据您的评论,这是工作创建脚本:
request = new StringRequest(Request.Method.GET, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.names().get(0).equals("success")) {
Toast.makeText(getApplicationContext(),
"SUCCESS" + jsonObject.getString("success"),
Toast.LENGTH_SHORT).show();
startActivity(new Intent(getApplicationContext(), Welcome.class));
} else {
Toast.makeText(getApplicationContext(),
"Error" + jsonObject.getString("Error"),
Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}) {
@Override
protected Map<String, String> getParams() {
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("email", email.getText().toString());
hashMap.put("password", password.getText().toString());
return hashMap;
}
};
requestQueue.add(request);