Laravel에서 auto increment 값 얻기
$maxId = Users::max('id') + 1;
또는
$maxId = DB::table('users')
->select('id')
->oredrby('id', 'desc')
->first()->id;
전자는 테이블의 레코드수가 대량이 되면 느려지므로, 데이터가 대량이 되는 경우는 후자를 사용하고 있었습니다.
하지만 에러등 일어나 데이터가 롤백 되었을 경우 빠짐번이 생깁니다.
결과적으로 하위 테이블이 있으면 데이터 불일치가 발생합니다.
무슨 일이라면
따라서 다음 쿼리로 auto increment 값을 얻습니다.
SELECT
AUTO_INCREMENT
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'DB名'
AND TABLE_NAME = 'テーブル名'
;
라라벨이라면
$maxId = DB::table("INFORMATION_SCHEMA.TABLES")
->select("AUTO_INCREMENT")
->where("TABLE_SCHEMA", "DB名")
->where("TABLE_NAME", "テーブル名")
->first()->AUTO_INCREMENT;
이제 자식 테이블에서도 auto increment 값을 등록할 수 있습니다.
Reference
이 문제에 관하여(Laravel에서 auto increment 값 얻기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hotate_chan/items/74f4275f2484a33d2c5e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)