0

次のクエリがあります。

    mysql -u root --local-infile=1 home -e "
    LOAD DATA LOCAL INFILE '$1'
    INTO TABLE $TABLE_NAME
    FIELDS TERMINATED BY ',' 
      (size, @d2, @d3, @d4, @d5, path, @d6)
    SET last_modified=str_to_date(
      CONCAT(@d2, ',', @d3, ',', @d4, ',', @d5), '%b,%d,%T,%Y')

= 1という列も設定する必要がありvolumeます。これが私が試したものです:

    mysql -u root --local-infile=1 home -e "
    LOAD DATA LOCAL INFILE '$1'
    INTO TABLE $TABLE_NAME
    FIELDS TERMINATED BY ',' 
      (size, @d2, @d3, @d4, @d5, path, @d6)
    SET last_modified=str_to_date(
      CONCAT(@d2, ',', @d3, ',', @d4, ',', @d5), '%b,%d,%T,%Y') 
    and SET volume=1;"

SQLエラーが発生しますが。volume=1上記を更新する正しい方法は何ですか?

4

1 に答える 1

2

構文は次のとおりです。

 mysql -u root --local-infile=1 home -e "
    LOAD DATA LOCAL INFILE '$1'
    INTO TABLE $TABLE_NAME
    FIELDS TERMINATED BY ',' 
      (size, @d2, @d3, @d4, @d5, path, @d6)
    SET last_modified=str_to_date(
      CONCAT(@d2, ',', @d3, ',', @d4, ',', @d5), '%b,%d,%T,%Y') 
    ,volume=1;"

UPDATESETオプションがコンマで区切られている標準のステートメント構文を使用する必要があります

...
SET last_modified=blah, volume=1

Barmar が述べたように、ここに MySQL に関するドキュメントへのリンクがありますLOAD DATA: http://dev.mysql.com/doc/refman/5.1/en/load-data.html

于 2013-03-29T23:04:29.053 に答える