【问题标题】:Some help to find the error in this SQL statement [closed]一些帮助找到此 SQL 语句中的错误 [关闭]
【发布时间】:2013-02-23 03:20:59
【问题描述】:

任何人都可以帮我检查这个 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 ;

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

如果有任何快速帮助,我将不胜感激。我已尽一切可能调试此问题,但均无济于事。

谢谢

【问题讨论】:

标签: mysql database


【解决方案1】:

TYPE 表选项在 MySQL 4.0 中已弃用。您应该改用ENGINE 选项:

ENGINE = MyISAM

来自MySQL docs

旧的 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

我猜两个突出显示的句子之一解释了您看到的错误的原因。

【讨论】:

  • @CitsSolutions:我看到你是Stack Overflow 的新人。如果答案对您有所帮助,请将其标记为已接受。除了识别有用的答案之外,这还有助于提高您的接受度。
【解决方案2】:

正确的语法是:

ENGINE = MYISAM

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-24
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多