0

テーブルの列がブール値であるMySQLにDBがあります。

`eligibilityDate` tinyint(1) NOT NULL

データは、次の関数を介して iOS Swift アプリから到着します。

let postParams = "action=save_report&id_fish=\(Reporting.fishId)&fish_name=\(Reporting.fishName)&detectedSize=\(Reporting.detectedSize)&eligibilitySize=\(Reporting.eligibilitySize)&eligibilityDate=\(Reporting.eligibilityDate)&origin=\(Reporting.origin)&production=\(Reporting.production)&townReport=\(Reporting.townReport)"

request.HTTPBody = postParams.dataUsingEncoding(NSUTF8StringEncoding)

ここで、Bool 変数は true/false から「true」/「false」に変換されるeligibilityDateと思います。eligibilitySizeとにかく、「真」の値は MySQL で 0 として保存されているようです...なぜですか? 正しい方法はどれですか?

アップデート

考えられる解決策は次のとおりです。

let postParams = "action=save_report&id_fish=\(Reporting.fishId)&fish_name=\(Reporting.fishName)&detectedSize=\(Reporting.detectedSize)&eligibilitySize=\(Reporting.eligibilitySize ? 1 : 0)&eligibilityDate=\(Reporting.eligibilityDate ? 1 : 0)&origin=\(Reporting.origin)&production=\(Reporting.production)&townReport=\(Reporting.townReport)"

4

0 に答える 0