请检查我的信息更新是否正确。
error Integrity constraint violation: 1062 Duplicate entry '45' for key 'PRIMARY' (SQL: update `studentdetails` set `SID` = 45, `fname` = sds, `lname` = sad, `dob` = 2020-04-22, `gender` = male, `created_at` = 2020-04-29 11:55:43)"
复合键
表格学生详细信息
SID pk,
fname,
lname,
dob,
gender
表格学生地址
SID pk,
zipcode pk,
street,
hname,
city,
state,
country
学生注册人数
SID pk,
grade pk,
edate
控制器:
public function update($SID,Request $request)
{
if(is_numeric($SID))
{
$SID = $request->get('SID');
$fname = $request->get('fname');
$lname = $request->get('lname');
$dob = $request->get('dob');
$gender = $request->get('gender');
$zipcode = $request->get('zipcode');
$city = $request->get('city');
$state = $request->get('state');
$country = $request->get('country');
$street = $request->get('street');
$hname = $request->get('hname');
$grade = $request->get('grade');
$edate = $request->get('edate');
if(is_numeric($SID) && !empty($fname) && !empty($lname) && !empty($dob) && !empty($gender)
&& is_numeric($zipcode) && !empty($city) && !empty($state) && !empty($street) && !empty($hname) && !empty($country)
&& !empty($grade) && !empty($edate))
{
DB::table('studentdetails')->update([
'SID' =>$SID,
'fname' =>$fname,
'lname' =>$lname,
'dob' =>$dob,
'gender' =>$gender,
'created_at' =>date('Y-m-d H:i:s'),
]);
DB::table('studentaddress')->update([
'SID' =>$SID,
'zipcode' =>$zipcode,
'city' =>$city,
'state' =>$state,
'country' =>$country,
'street' =>$street,
'hname' =>$hname,
'created_at' =>date('Y-m-d H:i:s'),
]);
DB::table('studentenrollment')->update([
'SID' =>$SID,
'grade' =>$grade,
'edate' =>$edate,
'created_at' =>date('Y-m-d H:i:s'),
]);
return MyResponse::success('ระบบได้บันทึกข้อมูลเรียบร้อยแล้ว','/student');
}else{
return MyResponse::error('กรุณาป้อนข้อมูลให้ครบ');
}
}
答案 0 :(得分:0)
更改逻辑。.您不能更新表的主键..可以使用该主键更新其他列..那是唯一的事情...否则,您必须将SID设置为非主键
AudioContext