2011-02-01 3 views
0

MySQL 5.5를 사용 중이고 ASP.net 응용 프로그램과 연결했습니다.부울 데이터 형식이 MySQL에서 작동하지 않는 이유는 무엇입니까?

MySQL 저장 프로 시저 내에서 내 응용 프로그램을 연결하는 데이터 세트를 추가했습니다 !!! 난 내 데이터 집합이 저장 프로 시저를 추가 할 때

CREATE DEFINER=`root`@`localhost` PROCEDURE `SpCatDetailsDML`(
    ParDetDescription TEXT, 
    ParDetDescriptionAR TEXT, 
    ParPrice INT, 
    ParCreatedOn DATETIME, 
    ParDisplayOrder INT, 
    ParAllowDisplay BOOLEAN, 
    ParPictureID BIGINT, 
    ParShowTypeID BIGINT 
) 
BEGIN-- INSERT -- 
    INSERT INTO cms.tbcatdetails(CatID,CustomerID,DetTitle,DetTitleAR,ShoertDesc,ShoertDescAr,DetDescription, 
           DetDescriptionAR,Price,CreatedOn,DisplayOrder,AllowDisplay,PictureID,ShowTypeID) 
    VALUES (ParCatID,ParCustomerID,ParDetTitle,ParDetTitleAR,ParShoertDesc,ParShoertDescAr,ParDetDescription, 
      ParDetDescriptionAR,ParPrice,ParCreatedOn,ParDisplayOrder,ParAllowDisplay,ParPictureID,ParShowTypeID); 
END 

이 나에게 부울입니다 ParAllowDisplay 데이터 형식 일 경고 becaues를 표시합니다 :

문제는 내가 좋아하는 BOOLEAN가 포함 된 저장 프로 시저를 호출 할 때이 하나입니다 !! !!

그래서 어떤 제안 ???

+0

변경을 참조? –

답변

1

MySQL에는 부울 데이터 유형이 없습니다. 대신 TINYINT(1)을 사용하십시오.

내가 위에서 언급 한 URL에 BOOL, BOOLEAN를 참조하십시오 여기 http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html


이상한 참조하십시오. 절대 사용하지 마십시오. 또한

,이 게시물 비트 필드에Which MySQL data type to use for storing boolean values

+0

bool = tinyint (1) – ajreal

+0

@ajreal 그렇다면 테이블을 생성하는 동안 데이터 유형으로'BOOL'을 사용할 수 있습니까? 나는'BOOL'을 사용했다는 것을 기억하지 못하고 항상'TINYINT (1)'을 사용합니다. – Nishant

+0

아니, 나는 이미 BOOL과 같은 문제를 사용했다. 어쨌든 TINYINT (1)이이 문제를 해결할 것이라고 생각합니다. 감사합니다. – HAJJAJ

관련 문제