@phpの回答を拡張すると、BEFOREを含めない理由は、とを使用してのすべての効果をBEFORE
簡単に達成できるためだと思います。AFTER
FIRST
例:
たとえば、最初は次のようなリレーショナルスキーマがあります。
+----------------------+
| name | age | address |
+----------------------+
そして、何らかの理由で直前に新しい列dob
(生年月日)age
を追加する必要がありますが、BEFORE
許可されていないため、代わりに使用dob
直後に挿入するだけで、同じ効果が得られます。name
AFTER
+----------------------------+
| name | dob | age | address |
+----------------------------+
しかし、`name`の前に新しい列`id`を挿入したい場合はどうでしょうか。
前に列がないため、列を配置するためにname
使用することはできません。これを解決するために、言語設計者は、テーブルの最初の列として目的の列を作成することを導入しました。AFTER
id
FIRST
id
+---------------------------------+
| id | name | dob | age | address |
+---------------------------------+
私は個人的に考えAFTER
てBEFORE
、より直感的なペアを作ったでしょうが。