почему логический тип данных не работает в MySQL?

0

Я использую 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!!

поэтому любые предложения

  • 0
    Поменять его на битовое поле?
Теги:

1 ответ

1
Лучший ответ

В MySQL нет типа данных Boolean. Вместо этого используйте TINYINT(1).

См. здесь http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html


странно, я вижу BOOL, BOOLEAN в указанном выше URL-адресе. Никогда не использовали их.

также ссылайтесь на этот пост Какой тип данных MySQL используется для хранения логических значений

  • 0
    bool = tinyint (1)
  • 0
    @ajreal Итак, можно ли использовать BOOL в качестве типа данных при создании таблицы? Я не помню, что я когда-либо использовал BOOL , я всегда использую TINYINT(1) .
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню