首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个mysql create table查询出了什么问题?

问这个mysql create table查询出了什么问题?
EN

Stack Overflow用户
提问于 2010-07-12 13:13:41
回答 3查看 1.8K关注 0票数 1

我在我的生产服务器中有一个数据库,它工作得很好…我所做的是转储数据库并在我的本地系统中执行。创建除一个表之外的所有其他表...所以我手动插入了,

代码语言:javascript
复制
CREATE TABLE `contact` (
  `contactId` int(11) NOT NULL AUTO_INCREMENT,
  `cRefId` int(20) DEFAULT '0',
  `contactFirstName` varchar(100) DEFAULT NULL,
  `contactLastName` varchar(100) DEFAULT NULL,
  `contactPhone` varchar(35) DEFAULT NULL,
  `contactEmail` varchar(150) DEFAULT NULL,
  `organizationid` int(11) NOT NULL,
  `mobileNo` varchar(35) DEFAULT NULL,
  `dor` datetime DEFAULT NULL,
  `doe` datetime DEFAULT NULL,
  `dod` datetime DEFAULT NULL,
  `designation` varchar(50) DEFAULT NULL,
  `income` double DEFAULT NULL,
  `homeloan` tinyint(1) DEFAULT NULL,
  `companyName` varchar(200) DEFAULT NULL,
  `isDeleted` tinyint(1) DEFAULT '0',
  `addressId` int(11) DEFAULT NULL,
  `accgroupid` int(11) DEFAULT NULL,
  `createdBy` int(11) DEFAULT NULL,
  `editedBy` int(11) DEFAULT NULL,
  `deletedBy` int(11) DEFAULT NULL,
  `assignedto` int(11) DEFAULT NULL,
  `industryid` int(11) DEFAULT NULL,
  `note` varchar(150) DEFAULT NULL,
  `twirrerId` varchar(150) DEFAULT NULL,
  `linkedinId` varchar(150) DEFAULT NULL,
  PRIMARY KEY (`contactId`),
  KEY `aa` (`organizationid`),
  KEY `add_id` (`addressId`),
  KEY `idx_contactid` (`contactId`),
  KEY `FK_contact` (`industryid`),
  KEY `fk_contacteditedby_user` (`editedBy`),
  KEY `fk_contactaccount_account` (`accgroupid`,`contactId`),
  KEY `contact_First_Name` (`contactFirstName`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

但是当我执行这个命令时,我得到了下面的错误,

代码语言:javascript
复制
Error Code : 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 'USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1' at line 35
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-12 13:19:27

我非常确定您必须指定您正在使用的索引列的using :

代码语言:javascript
复制
... KEY `contact_First_Name` USING BTREE (`contactFirstName`)

链接状态(MySQL 5.1)中引用文档:

代码语言:javascript
复制
{INDEX|KEY} [index_name] [index_type] (index_col_name,...) [index_option] ...

[index_type]是using btree位。

如果失败,请检查源服务器和目标服务器上是否有兼容的版本。有一个补丁使得对该命令的解释在它们应该是什么顺序方面更加健壮。

或者,您可以完全删除using btree并使用服务器默认方法,不过在选择它作为选项之前,您应该了解这一方法的后果。

票数 3
EN

Stack Overflow用户

发布于 2010-07-12 15:22:52

您应该在开发和生产系统中使用相同版本的mysql (当然,测试mysql升级时除外)。

使用不同的版本会使测试无效。不要这样做。您的开发系统应该运行与您在生产中使用的完全相同的服务器构建,唯一不同的是为了使其工作所需的参数(假设您在生产中有32G的ram,但在您的测试服务器上只有4G,您需要将缓冲区设置得更小)。

票数 2
EN

Stack Overflow用户

发布于 2010-07-12 13:19:07

你确定你使用的是支持'USING BTREE‘的MySQL版本吗?如果我没记错的话,这是MySQL 5.1的一个特性。

你也可以点击http://bugs.mysql.com/bug.php?id=25162

编辑:实际上,这只是MySQL 5的一个特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3226013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档