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=」に一括修正しておくと便利です。
-
【Gmail】Outlookで「IMAPサーバーからの警告:無効な認証情報」エラーが出たときの対処法
IMAP関連のエラーは原因の特定が難しく、多くのユーザーを悩ませます。このエラーは、Outlook、Thunderbird、Apple MailなどのメールクライアントからIMAP経由でGmailにアクセスしようとした際によく発生します。多くの場合、「無効な認証情報(Invalid credentials)」というエラーは、ユーザー名やパスワードの入力ミス、あるいはサーバー名・ポート番号の誤りを意味しています。ほとんどのユーザーはMicrosoft Outlookを起動した直後にこのエラーに遭遇します。エラーメッセージを閉じると、メールのパスワードを再入力するよう求められます。問題なのは、場合
-
エラー1310「そのディレクトリにアクセスできることを確認してください」を解決する方法
新しいアプリケーションをインストールしようとした際に、「エラー1310」や「そのディレクトリにアクセスできることを確認してください(Verify that you have access to that directory)」というエラーメッセージが表示され、何度インストールを試みても同じエラーが出てしまうことはありませんか?ご安心ください。これはよくあるエラーで、多くのユーザーから同様の報告が寄せられています。バンドルアプリでも単体アプリでも、システム設定やアプリの要件によって発生することがあります。ファイルへの書き込みエラー(error writing to file)でお困りの方は、ぜひ