MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLエラー#1064の解決法|SQL構文エラー「TYPE=MyISAM付近」の原因と対処

MySQLエラー#1064とは?

テーブル作成時にストレージエンジン名を指定する際、古い構文である「TYPE」を使用すると、MySQLエラー#1064(SQL構文エラー)が発生します。この「TYPE」構文はMySQL 5.5で非推奨となり、その後のバージョンで削除されたためです。

実際に発生するエラーは以下の通りです。

mysql> create table DemoTable1836
     (
     ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
     ClientName varchar(20)
     )Type=MyISAM AUTO_INCREMENT=1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Type=MyISAM AUTO_INCREMENT=1' at line 5

解決方法:「TYPE」を「ENGINE」に変更する

MySQL 8では、「Type」の代わりに「ENGINE」を使用します。以下のように記述することで、エラーを回避してテーブルを作成できます。

mysql> create table DemoTable1836
     (
     ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
     ClientName varchar(20)
     )ENGINE=MyISAM AUTO_INCREMENT=1;
Query OK, 0 rows affected (0.00 sec)

「Query OK」と表示されれば、テーブルの作成は成功です。

レコードの挿入

insertコマンドを使って、作成したテーブルにいくつかのレコードを追加してみましょう。

mysql> insert into DemoTable1836(ClientName) values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1836(ClientName) values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1836(ClientName) values('Mike');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1836(ClientName) values('Sam');
Query OK, 1 row affected (0.00 sec)

レコードの確認

select文を使って、テーブル内のすべてのレコードを表示します。

mysql> select * from DemoTable1836;

実行結果は以下の通りです。

+----------+------------+
| ClientId | ClientName |
+----------+------------+
|         1 | Chris       |
|         2 | David       |
|         3 | Mike        |
|         4 | Sam         |
+----------+------------+
4 rows in set (0.00 sec)

まとめ

MySQLエラー#1064が「TYPE=MyISAM付近」で発生した場合は、構文を「ENGINE=MyISAM」に変更すれば解決できます。古いSQLスクリプトやダンプファイルをインポートする際によく見られるエラーのため、エディタの置換機能などで「TYPE=」を「ENGINE=」に一括修正しておくと便利です。

  1. 【Gmail】Outlookで「IMAPサーバーからの警告:無効な認証情報」エラーが出たときの対処法

    IMAP関連のエラーは原因の特定が難しく、多くのユーザーを悩ませます。このエラーは、Outlook、Thunderbird、Apple MailなどのメールクライアントからIMAP経由でGmailにアクセスしようとした際によく発生します。多くの場合、「無効な認証情報(Invalid credentials)」というエラーは、ユーザー名やパスワードの入力ミス、あるいはサーバー名・ポート番号の誤りを意味しています。ほとんどのユーザーはMicrosoft Outlookを起動した直後にこのエラーに遭遇します。エラーメッセージを閉じると、メールのパスワードを再入力するよう求められます。問題なのは、場合

  2. エラー1310「そのディレクトリにアクセスできることを確認してください」を解決する方法

    新しいアプリケーションをインストールしようとした際に、「エラー1310」や「そのディレクトリにアクセスできることを確認してください(Verify that you have access to that directory)」というエラーメッセージが表示され、何度インストールを試みても同じエラーが出てしまうことはありませんか?ご安心ください。これはよくあるエラーで、多くのユーザーから同様の報告が寄せられています。バンドルアプリでも単体アプリでも、システム設定やアプリの要件によって発生することがあります。ファイルへの書き込みエラー(error writing to file)でお困りの方は、ぜひ