PremiseIDという主キーを持つデータベーステーブルがあります。
そのMySQL列定義はCHAR(10)です。
列に入力されるデータは常に10桁です。これは、「113091000」のように9桁の数字の後にスペースが続くか、「113091000A」のように9桁の数字の後に文字が続くかのいずれかです。
これらの値の1つをテストMySQLデータベーステーブルt1のテーブルに書き込んでみました。3つの列があります
mainid integer
parentid integer
premiseid char(10)
次の値を持つ行を挿入し、行1,1,'113091000 '
を読み戻そうとすると、「113991000」の値が切り捨てられるため、「113091000」と表示されます。つまり、スペースが削除されます。「113091000A」のような番号を挿入すると、その値が保持されます。
CHAR(10)フィールドにスペース文字を保持させるにはどうすればよいですか?
私はこの問題をプログラムで回避する方法があります。len( '113091000')を取得し、それが9文字であることを認識してから、9の長さを実現すると、その数値にスペース接尾辞があると推測されます。