2.

MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方

編集
この記事の要点
  • ERROR 1063 (42000): Incorrect column specifier for columnMySQL でカラムの修飾子が型に合っていないときのエラー
  • ほぼ全ての場合、原因は AUTO_INCREMENT を整数以外の型に付けたこと
  • 対処は 型を INT / BIGINT にするか、UUID なら AUTO_INCREMENT を使わない
  • 原因・対処・型の一覧は Incorrect column specifier for column 'カラム名' にまとめてあります

エラーの出方

CREATE TABLE users (
    id VARCHAR(36) NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (id)
);
-- ERROR 1063 (42000): Incorrect column specifier for column 'id'

AUTO_INCREMENT が使えるのは TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT の整数型だけです。VARCHARCHAR に付けるとこのエラーになります。

いちばん短い直し方

CREATE TABLE users (
    id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    PRIMARY KEY (id)
);

主キーを UUID にしたい場合は AUTO_INCREMENT を外し、値をアプリ側で入れるか DEFAULT (UUID()) を使います。詳しい手順と、主キー未定義・1 テーブルに 2 つの AUTO_INCREMENT といった別パターンは Incorrect column specifier for column 'カラム名' を参照してください。

関連

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. 1071 Specified key was too long; max key length is 767 bytes
  2. ERROR 1063 (42000): Incorrect column specifier for column '~'
  3. mysqld: Can't change dir to '...\MySQL\MySQL Server X.X\data\' (OS errno 2 - No such file or directory)
  4. Install/Remove of the Service Denied!
  5. Datetime 型が NULL に見える
  6. Warning: World-writable config file '/etc/mysql/my.cnf' is ignored
  7. ERROR 1698 (28000): Access denied for user 'root'@'localhost'
  8. Exception: Wrong MySQL configuration
  9. [Warning] TIMESTAMP with implicit DEFAULT value is deprecated.
  10. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
  11. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
  12. Incorrect column specifier for column 'カラム名'
  13. BLOB/TEXT column 'description' used in key specification without a key length
  14. ERROR: /bin/sh: mysql_config: コマンドが見つかりません
  15. Host '...' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
  16. CSVエクスポート時に「ERROR 1045 (28000): Access denied for user 'username'@'localhost'」エラーが表示される
  17. Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT
  18. SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ~

最近更新/作成されたページ