2017-05-19 6 views
0

mysqlは、テーブルがどのような方法でもデータがあふれていなくても(30-4行と4列のみ)、私の出力を奇妙にフォーマットしています。 これを調整するためにできることはありますか?mysql奇妙な書式設定の出力

mysql> select id, city, state, zip from location; 
+----+----------------+-------+-------+ 
| id | city   | state | zip | 
+----+----------------+-------+-------+ 
    | 97227 |and  | OR 
    | 95814 |mento  | CA 
    | 94607 |nd  | CA 
    | 90245 |gundo  | CA 
    | 90015 |ngeles | CA 
    | 85004 |ix  | AZ 
    | 84101 |Lake City | UT 
    | 80204 |r   | CO 
    | 78219 |ntonio | TX 
    | 77002 |on  | TX 
    | 75219 |s   | TX 
    | 73102 |oma City | OK 
    | 70113 |rleans | LA 
    | 60612 |go  | IL 
    | 55403 |apolis | MN 
    | 53203 |ukee  | WI 
    | 48326 |n Hills | MI 
    | 46204 |napolis | IN 
    | 44115 |land  | OH 
    | 38103 |is  | TN 
    | 33132 |   | FL 
    | 32801 |do  | FL 
    | 30303 |ta  | GA 
    | 28202 |otte  | NC 
    | 20004 |ngton  | DC 
    | 19148 |delphia | PA 
    | 11217 |lyn  | NY 
    | 10121 |ork  | NY 
| 29 | Boston   | MA | 2114 | 
+----+----------------+-------+-------+ 
29 rows in set (0.00 sec) 
+0

あなたのフィールドのいずれかにキャリッジリターンがあります。 – Barmar

+0

すべての 'state'値は' MA'を除いてキャリッジリターンで終わるようです。 – Barmar

答えて

2

どういうわけかあなたはstate値のほとんどの末尾にキャリッジリターンを得ました。あなたはそれらを削除することができます。

UPDATE location SET state = TRIM(TRAILING '\r' FROM state); 

そして、あなたは、あなたがそれがデータでこれらの文字を残しています理由は、このテーブルに行を追加するために使用するコードを調査する必要があります。あなたはおそらく、Windowsで作成されたファイルをUnix上で動作するプログラムにロードしているでしょう。 Linux上でdos2unixコマンドを使用すると、ファイル内のすべての改行を修正できます。または、余分な改行文字を取り除くようにプログラムを修正することもできます。

+0

ああ、それは確かにそれでした!ありがとう! –