0

このエラーが発生しているこのSQLステートメントを確認するのを手伝ってくれる人はいますか:

Error

>     SQL query:
>     
>     CREATE TABLE `dp_banks` (
>     `id` int( 11 ) NOT NULL AUTO_INCREMENT ,
>     `owner` int( 11 ) NOT NULL default '0',
>     `bname` varchar( 128 ) NOT NULL default '',
>     `baddress` varchar( 128 ) NOT NULL default '',
>     `bcity` varchar( 64 ) NOT NULL default '',
>     `bzip` varchar( 16 ) NOT NULL default '',
>     `bcountry` char( 2 ) NOT NULL default '',
>     `bstate` varchar( 32 ) NOT NULL default '',
>     `bphone` varchar( 32 ) NOT NULL default '',
>     `bnameacc` varchar( 128 ) NOT NULL default '',
>     `baccount` varchar( 32 ) NOT NULL default '',
>     `btype` char( 2 ) NOT NULL default '',
>     `brtgnum` varchar( 9 ) NOT NULL default '',
>     `bswift` varchar( 32 ) NOT NULL default '',
>     `status` tinyint( 1 ) NOT NULL default '0',
>     `default` tinyint( 1 ) NOT NULL default '0',
>     PRIMARY KEY ( `id` )
>     ) TYPE = MYISAM AUTO_INCREMENT =1;
>     
>     MySQL said: Documentation
>     #1064 - 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 19

メインコードは次のとおりです。

-- 
-- Table structure for table `dp_banks`
-- 

DROP TABLE IF EXISTS `dp_banks`;
CREATE TABLE `dp_banks` (
  `id` int(11) NOT NULL auto_increment,
  `owner` int(11) NOT NULL default '0',
  `bname` varchar(128) NOT NULL default '',
  `baddress` varchar(128) NOT NULL default '',
  `bcity` varchar(64) NOT NULL default '',
  `bzip` varchar(16) NOT NULL default '',
  `bcountry` char(2) NOT NULL default '',
  `bstate` varchar(32) NOT NULL default '',
  `bphone` varchar(32) NOT NULL default '',
  `bnameacc` varchar(128) NOT NULL default '',
  `baccount` varchar(32) NOT NULL default '',
  `btype` char(2) NOT NULL default '',
  `brtgnum` varchar(9) NOT NULL default '',
  `bswift` varchar(32) NOT NULL default '',
  `status` tinyint(1) NOT NULL default '0',
  `default` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- --------------------------------------------------------    

迅速な助けをいただければ幸いです。これをデバッグするために最善を尽くしましたが、すべて役に立ちませんでした。

ありがとう

4

2 に答える 2

2

TYPEtable オプションは MySQL 4.0 で廃止されました。ENGINE代わりに次のオプションを使用する必要があります。

ENGINE = MyISAM

MySQL ドキュメントから:

古い TYPE オプションは ENGINE と同義でした。TYPE は MySQL 4.0 から廃止されましたが、MySQL 5.1 (MySQL 5.1.7 を除く) の下位互換性のために引き続きサポートされています。MySQL 5.1.8 以降では、警告が生成されます。MySQL 5.5 で削除されました。新しいアプリケーションでは TYPE を使用しないでください。代わりに ENGINE を使用するように既存のアプリケーションの変換をすぐに開始する必要があります。

ソース: http://dev.mysql.com/doc/refman/5.1/en/create-table.html

強調表示された 2 つの文のうちの 1 つが、表示されているエラーの理由を説明していると思います。

于 2013-03-07T19:00:38.383 に答える
0

正しい構文は次のとおりです。

ENGINE = MYISAM
于 2013-03-07T19:00:43.683 に答える