1

.txt ファイルから mysql にデータをロードしようとしています。テーブルは次のようになります。

+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| user_name   | varchar(10)      | NO   | MUL | NULL    |                |
| user_id     | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| listings    | int(10) unsigned | NO   |     | 0       |                |
| connections | int(10) unsigned | NO   |     | 0       |                |
| flags       | int(10) unsigned | NO   |     | 0       |                |
| days        | int(10) unsigned | NO   |     | 0       |                |
| email       | varchar(30)      | NO   |     | NULL    |                |
| suspend     | tinyint(1)       | YES  |     | 0       |                |
+-------------+------------------+------+-----+---------+----------------+

列をLOAD DATA LOCAL INFILEどのように処理すればよいですか? user_id他のすべてのアイテムにはすでにデータがあります。データベースに user_id を割り当ててもらいたいのですが。それは可能ですか?

user_idテキスト ファイルの下の列はどのように表示されますか?

4

2 に答える 2

2

私は以下を使用しました:

name   \N    2    4    2    100    emal@mail.com    o

各エントリには、\N の代わりに正しい ID が自動的に与えられました。

より良い方法があれば、私に知らせてください。

于 2013-03-05T22:23:58.800 に答える
1

「入力値をユーザー変数に割り当て、変数をテーブル列に割り当てないことで、入力値を破棄することもできます」ここを読んでください

例:

LOAD DATA LOCAL INFILE 'file.txt' INTO TABLE tablename (user_name, @skip, listings, connections, flags, days, email, suspend);
于 2013-03-05T22:44:55.463 に答える