2010-04-05 4 views
3

mysql에서 SQL Server에 해당하는 전역 변수가 거의 없습니다.Sql Server의 @@ Identity 및 @@ error에 해당하는 mysql과 try catch를 mysql에서 사용하는 방법은 무엇입니까?

전체 목록을 원합니다. 예.

는 SQL 서버 상당

@@error ---

@@Identity ---

는 기본적으로 지금 내가 @@ 오류에 해당하는 변수가 무엇인지 알고 싶어

및 @@정체.

그러나 U도

+0

나는 SQL Server에서 @@ identity를 사용하지 않고 있습니까? alawys가 올바른 결과를 반환하지 않으므로 대신 scope_identity()를 사용해야합니다. – HLGEM

+0

@HLGEM : 예. 저는 @@ Identity를 사용하지 않았습니다. 몇 일 전의 부작용에 관해서 알게 되었으니까요.하지만 지금은 MySQL과 비슷한 기능을 알고 싶었습니다. –

답변

5

다른 변수의 현재 연결에 대해 생성 된 마지막 auto_increment(즉, 최후의 신원)을 제공 할 수 있다면 도움이 될 것이다은 LAST_INSERT_ID() 함수를 이용하여 구할 수있다.


오류에 대해, 확실하지 않지만; 마지막 오류 메시지에 해당하는 system variable이없는 것 같습니다.

mysql> select a from b; 
ERROR 1046 (3D000): No database selected 

mysql> show errors; 
+-------+------+----------------------+ 
| Level | Code | Message    | 
+-------+------+----------------------+ 
| Error | 1046 | No database selected | 
+-------+------+----------------------+ 
1 row in set (0,00 sec) 

하지만이 결과를 사용할 수있는 방법을 잘 ...


좀 더 검색 후, 나는이 스레드 발견 : Getting the last error message

show errors 문이있다 , (인용) :

나는 @@last_error_id@@last_error_message과 같아야한다고 생각합니다. 그러나 나는 을 현재 매뉴얼에서 찾을 수 없습니다.

그리고 첫 번째 대답 상태 (인용) :

이 현재 수 없습니다, 에서 우리는 오류 처리가 버전 5.2 및 희망 뭔가 개선 될 것입니다 아는 바로는 이렇게하면 일 수 있습니다.

관련 문제