2011-02-01 14 views
0

私はMySQL 5.5を使用しており、ASP.netアプリケーションとリンクしています。ブール型のデータ型がMySQLで動作しないのはなぜですか?

私は、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データ型番目の警告becauesが表示されます!!

どのような提案ですか?

+0

変更してこの記事を参照してください? –

答えて

1

MySQLにはブール型のデータ型はありません。 代わりにTINYINT(1)を使用してください。

がここhttp://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html


奇妙なを参照してください、私は上記のURLでBOOL, BOOLEANを参照してください。絶対に使用しないでください。

また、ビットフィールドへ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

関連する問題