Mysql 填充数据库的所有字段时出现问题

Mysql 填充数据库的所有字段时出现问题,mysql,Mysql,我正试图将一个文本文件导入MySQL数据库,但我很难让第一个字段(card_no)完全填充到我的所有记录中。导入文件(不会产生任何错误)后,第一条记录会正确显示,但其他记录不会。有人能告诉我怎么才能补救吗?--如果有关系的话,我正在使用phpMyAdmin加载文件。-谢谢你抽出时间 以下是数据库的结构: Field Type Collation Attributes Null card_no smallint(6)

我正试图将一个文本文件导入MySQL数据库,但我很难让第一个字段(card_no)完全填充到我的所有记录中。导入文件(不会产生任何错误)后,第一条记录会正确显示,但其他记录不会。有人能告诉我怎么才能补救吗?--如果有关系的话,我正在使用phpMyAdmin加载文件。-谢谢你抽出时间

以下是数据库的结构:

Field       Type            Collation         Attributes    Null    
card_no     smallint(6)                       Yes           NULL
name        varchar(100)    latin1_swedish_ci No    
artist      varchar(30)     latin1_swedish_ci Yes           NULL
color       varchar(25)     latin1_swedish_ci Yes           NULL
rarity      varchar(1)      latin1_swedish_ci Yes           NULL
expansion   varchar(50)     latin1_swedish_ci Yes           NULL
代码如下:

    LOAD DATA LOCAL INFILE 'C:\\xampp\\tmp\\php43.tmp'
    INTO TABLE `mtginfo` FIELDS TERMINATED BY ';'
    ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY ',';
以下是导入的文件:

    "1";"Ajani Goldmane";"Aleksi Briclot";"White";"M";"Magic 2010",
    "2";"Angel's Mercy";"Andrew Robinson";"White";"C";"Magic 2010",
    "3";"Armored Ascension";"Jesper Ejsing";"White";"U";"Magic 2010",
    "4";"Baneslayer Angel";"Greg Staples";"White";"M";"Magic 2010",
    "5";"Blinding Mage";"Eric Deschamps";"White";"C";"Magic 2010"
以下是输出的示例:

    card_no name            artist          color   rarity  expansion
    1       Ajani Goldmane  Aleksi Briclot  White   M       Magic 2010
    0       Angel's Mercy   Andrew Robinson White   C       Magic 2010
    0       Armored Ascensi Jesper Ejsing   White   U       Magic 2010
    0       Baneslayer Ange Greg Staples    White   M       Magic 2010
    0       Blinding Mage   Eric Deschamps  White   C       Magic 2010

所有新行都以一些空格开头。您应该指定以子句开头的行来处理它们,例如-

LOAD DATA LOCAL INFILE 'd:\\1\\php43.tmp'
INTO TABLE 'C:\\xampp\\tmp\\php43.tmp'
FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'
LINES STARTING BY '        ' TERMINATED BY ',';

所有新行都以一些空格开头。您应该指定以子句开头的行来处理它们,例如-

LOAD DATA LOCAL INFILE 'd:\\1\\php43.tmp'
INTO TABLE 'C:\\xampp\\tmp\\php43.tmp'
FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\'
LINES STARTING BY '        ' TERMINATED BY ',';

我不确定回答你自己问题的协议是什么,所以如果其他人有这个问题,我会发布我刚刚发现的解决方案我将CARD_NO字段类型设置为smallint,并尝试将非整数类型加载到其中。因此,导入不会加载字符类型(由于引号而为字符),而是移动到下一个字段。-再次感谢你的回答,德瓦特。虽然您的回答没有纠正我的问题,但它确实让我更加思考我的问题。

我不确定回答您自己问题的协议是什么,因此如果其他人有此问题,我将发布我刚刚发现的解决方案。-我将CARD_NO字段类型设置为smallint,并尝试将非整数类型加载到其中。因此,导入不会加载字符类型(由于引号而为字符),而是移动到下一个字段。-再次感谢你的回答,德瓦特。虽然你的回答没有纠正我的问题,但它确实让我更加思考我的问题。

谢谢你的回答,德瓦特。不幸的是,同样的结果仍然出现。因为有终止符,所以以开头的行不是没有必要吗?--我只是不明白为什么它看不到任何其他卡。\u没有数据,但是其他字段填充得很好。我添加了以开头的行,因为示例在开头包含一些空格。也许MySQL无法正确解析它。尝试编辑您的CSV文件,删除所有不必要的空白。谢谢您的回答。不幸的是,同样的结果仍然出现。因为有终止符,所以以开头的行不是没有必要吗?--我只是不明白为什么它看不到任何其他卡。\u没有数据,但是其他字段填充得很好。我添加了以开头的行,因为示例在开头包含一些空格。也许MySQL无法正确解析它。尝试编辑CSV文件,删除所有不必要的空白。