web-dev-qa-db-ja.com

mysqldumpファイルをバージョン9.11から10.11に更新する簡単な方法はありますか?

私たちには、非常に長い間サーバーを使用しているクライアントがいますが、彼らはまだMySQL 4.0.24を実行していました。
サーバーを更新しているので、現在のデータベースのmysqldumpを取得して新しいサーバーと次のようなエラーが発生しています:

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 'call' at line 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 'call
(
path varchar(255) NOT NULL default '',
call_num int(12) unsigned ' at line 1

不平を言っているダンプファイルのセクションは次のとおりです。

--
-- Table structure for table `call`
--

DROP TABLE IF EXISTS call;
CREATE TABLE call (
  path varchar(255) NOT NULL default '',
  call_num int(12) unsigned NOT NULL auto_increment,
  date datetime NOT NULL default '0000-00-00 00:00:00',
  idf varchar(4) NOT NULL default '404',
  location varchar(255) default NULL,
  who_req varchar(8) default NULL,
  who_res varchar(8) default NULL,
  PRIMARY KEY  (path,call_num)
) ENGINE=MyISAM;

--
-- Dumping data for table `call`
--

だから、誰かこれについて何かアイデアはありますか?

2
B.Kaatz

上手、

テーブル名の前後にバッククォート( "` ")を使用すると、コメントでmysqldumpが使用されることがわかりました-セパレータセクション( `call`など)、期待どおりに動作します。

したがって、上記は次のようになります。

--
-- Table structure for table `call`
--

DROP TABLE IF EXISTS `call`;
CREATE TABLE `call` (
  path varchar(255) NOT NULL default '',
  call_num int(12) unsigned NOT NULL auto_increment,
  date datetime NOT NULL default '0000-00-00 00:00:00',
  idf varchar(4) NOT NULL default '404',
  location varchar(255) default NULL,
  who_req varchar(8) default NULL,
  who_res varchar(8) default NULL,
  PRIMARY KEY  (path,call_num)
) ENGINE=MyISAM;

--
-- Dumping data for table `call`
--

お役に立てば幸いです。

2
B.Kaatz