WindowsXPsp2,MySQL4.0.23です。
雑誌の記事を参考に以下のようなsqlファイルを作成し、sourceコマンドで流し込みをしました。流し込むファイルの内容も下記に示します。
[sqlファイル]
use docsdb;
drop table titletb;
create table titletb (
tid int unsigned auto_increment primary key,
tyear year not null,
tmonth tinyint not null,
title1 varchar(100) not null,
title2 varchar(100),
title3 varchar(100)
);
grant select,insert,update,delete on docsdb.titletb to docsuser@localhost identified by 'password';
load data infile 'datafile' into table titletb;
[datafile](スペースはタブ文字です)
2004 1 ああああああ ううううう
2004 2 いいいいいい ううううう
これによって作成したテーブルを、
select * from titletb;
とすると結果が崩れて表示されてしまうのです。
格納されている情報に問題はなく、カラムごとに区切って表示させればちゃんと期待通りに格納されています。
何かやり方を間違っているのでしょうか?
普通に崩れずに表示させるにはどうすればよいのでしょうか?
それと、sourceコマンドで流し込んだ際に、Warnings:4と出るのですがこれは問題ないのでしょうか?
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
[datafile](スペースはタブ文字です)
2004 1 ああああああ ううううう \N /n
2004 2 いいいいいい ううううう \N /n
としてください。
書き込みでは反映されないようですが、各行の先頭にはタブをうっています。(もしかしてあなたもされているかも)
・理由
カラムとデータが対応していません。
IDは何も記入しなくていいのでタブのみうってください。
(反映されていないだけでしたらすみません)
title3はNULLとなるため\Nとしましょう。
改行は/nとしておくといいでしょう。
ありがとうございます。おっしゃるやり方で無事崩れずに表示されました。とても感謝しております。本当にありがとうございました。
おっしゃるとおり先頭にはタブを打っております。どうやらここでは先頭のスペースは投稿時に削られるのですね。
ということは今回の私のトラブルはカラムとデータが対応していないのではなくて空白のフィールドを\nとしなかったことによるものなのでしょうか?
それと、改行を/nとするということですが、今回のように外部ファイルからデータを流し込む際のデータファイルは、データの入力の際エンターキーによる改行を行わずにその部分に/nを入れるということでよろしいでしょうか?
No.2
- 回答日時:
#1です。
普通に表示できてよかったですね。頑張ってください。
>ということは今回の私のトラブルはカラムとデータが対応していないのではなくて空白のフィールドを\nとしなかったことによるものなのでしょうか?
tid,tyear,tmonth,title1,title2,title3の6項目に対して1行に5項目しか入っていなかったことが言いたかったことです。
>それと、改行を/nとするということですが、今回のように外部ファイルからデータを流し込む際のデータファイルは、データの入力の際エンターキーによる改行を行わずにその部分に/nを入れるということでよろしいでしょうか?
load data infile 'datafile' into table titletb以降にタブに変わるもの・改行に使う記号を指定できますが、デフォルトではタブで区切り・/nで改行となります。“Windowsでは/r/nにしましょう。”といわれることもあります。何も無くてもいいですが、Warningsの数が増えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- MySQL エラー 1068 (42000): 複数の主キーが定義されていますエラー 2 2022/11/17 04:36
- PHP php エラー 2 2022/10/23 16:43
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- MySQL MYSQL エラー 2 2022/10/18 11:37
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MySQL テーブルの一部のカラム...
-
group byで最後のレコードを抽...
-
select * での表示が崩れる?
-
MYSQLで小数点を表示する場合と...
-
テーブルの列数を調べたい
-
mysqlで年と月を別々のカラムに...
-
【SQL文】このような結合UNION...
-
whereの使い方が分からないので...
-
MYSQLのレコードを上書きしたい...
-
重複の場合は1件のみ取込む処理
-
ここで「INSERT INTO」を使う意...
-
betweenを使うyyyy/mm/ddでの範...
-
VB.NETでSQL-SERVERにクエリを...
-
WHEREなどの条件が多い場合、ど...
-
誤って削除したIDカラムを復元...
-
SQL初心者、結合の理解度を確認...
-
INDIRECT関数の代替方法は?
-
DBの定義のサイズを大きくし過...
-
SELECT文で、指定カラム以外の...
-
GREATESTで NULLをスルーする方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
[MySQL]LOAD DATA INFILE一部レ...
-
WHEREなどの条件が多い場合、ど...
-
group byで最後のレコードを抽...
-
フレンドリストのようなものを...
-
MYSQLで小数点を表示する場合と...
-
MySQL AUTO_INCREMENTが最大に...
-
時間範囲が重複したレコードを...
-
MYSQLのストアドでの動的SQLに...
-
「VARCHAR(255)」を「text」に...
-
MySQL テーブルの一部のカラム...
-
select * での表示が崩れる?
-
データの暗号化について
-
MySQLのselect文で、最大ID値の...
-
カラムの値を、条件により動的...
-
MySQL 改行コードを含む文字列...
-
betweenを使うyyyy/mm/ddでの範...
-
MySQLで、指定の複数カラムのみ...
-
ここで「INSERT INTO」を使う意...
-
mysqlでカンマデータのgroup by
おすすめ情報