パーサーは、使用しようとしている場所でのサブクエリをサポートしていません。
これは、MySQLソースからの抜粋です。sql/ sql_yacc.yyから:
create_table_option:
. . .
| AUTO_INC opt_equal ulonglong_num
そこで読むべきことは、AUTO_INCREMENT
tableオプションは、式、サブクエリ、変数などではなく、単一のリテラル番号のみを受け入れます。したがって、SELECT MAX(id)+1
を実行するのと同じステートメントでAUTO_INCREMENTを設定することはできません。 。
しかし、そうする必要はありません。
MySQLは、自動インクリメントIDを 未満に割り当てることはありません。 現在テーブルにある最大値。したがって、ID値が102のテーブルがある場合、次に割り当てられる値は少なくともになります。 103.
AUTO_INCREMENT =50を明示的に設定することもできますが、それは自動的にMAX(id)+1に増加します。