Я использую MySQL 5.5, и я связал его с моим ASP.net-приложением.
Я добавил набор данных, чтобы связать мое приложение в хранимой процедуре MySQL.
проблема заключается в том, что я вызываю любую хранимую процедуру, содержащую BOOLEAN, как этот:
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 является Boolean!!
поэтому любые предложения
В MySQL нет типа данных Boolean. Вместо этого используйте TINYINT(1)
.
См. здесь http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
странно, я вижу BOOL, BOOLEAN
в указанном выше URL-адресе. Никогда не использовали их.
также ссылайтесь на этот пост Какой тип данных MySQL используется для хранения логических значений
BOOL
в качестве типа данных при создании таблицы? Я не помню, что я когда-либо использовал BOOL
, я всегда использую TINYINT(1)
.