문제

나의 올바른 이해는 mysql 만()함수를 다시 설정하지 않 사이에 삽입 시도 횟(로@@id 에서 sql-server)...는 경우에는 바로 앞에 삽입하는 작업이 실패할만()가 반환 pk 의 어떤 pk 의 연결을의 마지막을 삽입 테이블과 자동증가 기본 핵심이었다.면 나는 올바른에서 이는 이처럼 보이지 않에 대해서만 대부분의 지체 행동에 대한 이 함수는 하나 오를 수 있는가?은 없 mysql 기능 동작하는 마찬가지로 sql-server's@@id?하나의 반환하는 경우 NULL 바로 앞 삽입 시도를 만들 새로운 기록이 있는가?또한,어떻게 하나 확실히 알고 있는 기본 키의 가장 최근의 삽입 작업은?

도움이 되었습니까?

해결책

@@id 은 일반적으로 잘못된 sql server 니다.당신이 사용해야 scope_identity() 대부분의 경우 대신 합니다.

에서 MySql,만()안전해야하기 때문에 사용할 수 있는 유일한 방법 이 함수를 호출한 후에 삽입하는 오류입니다 당신은 이미 제대로 잡아서 차지하면 오류가 있습니다.그렇지 않으면 당신은 여전히 처리하는 명령입니다.다시 말해서,만()은 당신의 오류 처리 메커니즘이 있습니다.

다른 팁

삽입물이 먼저 성공했는지 확인해야합니다. 인서트가 성공하면 last_insert_id ()에 의존 할 수 있습니다.

편집 : PHP :

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');

mysql_query('<PUT YOUR INSERT HERE');
if(mysql_affected_rows()>0){
  $last_id=mysql_insert_id();
}else{
  //panic!
}
?>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top