私はしばらくの間、これらの二つと格闘:素晴らしい作品MySQLが特定の順序で引数を要求するのはなぜですか?
LOAD DATA LOCAL INFILE '...' INTO TABLE ...
FIELDS TERMINATED BY '!' LINES TERMINATED BY '\n';
。 ない作業を何、これは次のようになります。
LOAD DATA LOCAL INFILE '...' INTO TABLE ...
LINES TERMINATED BY '\n' FIELDS TERMINATED BY '!';
なぜいけないのでしょうか?意味は同じではないのですか?この背後にある根拠は何ですか?これらのような議論の順序を変更すると結果が変わる例がありますか?
構文ルールを定義するのはMySQLです。 – dnoeth
確かに、私はこれの根底に根拠があるのかと尋ねています。 – Ares
同じ理由で、おそらくクエリの順序が定義されています。 'SELECT ... FROM ... WHERE ... GROUP BY ...'は動作しますが、 'SELECT ... FROM ... GROUP BY ... WHERE'は動作しません。確かに、それを読むことは同じことを意味します。しかし、コンパイラはその順序でそれを期待していません。それは、言語構文がどのように定義されたかです。 – Siyual