mysql 使用表格语法错误_表创建时的MySQL语法错误

我试图在Filemaker - > MySQL转换脚本中使用此查询 . 表创建步骤直接从phpMyAdmin导出,我在DROP语句中添加 .

DROP TABLE IF EXISTS artifacts;

CREATE TABLE IF NOT EXISTS `artifacts`

(

`aid` INT(11) UNSIGNED NOT NULL auto_increment,

`accession number` TEXT NOT NULL,

`name` TEXT NOT NULL,

`period 1` TEXT NOT NULL,

`period 3 date` TEXT NOT NULL,

`visual description` TEXT NOT NULL,

`religion 1` TEXT NOT NULL,

`dimen 1 number` DECIMAL(10, 2) NOT NULL,

`dimen 2 number` DECIMAL(10, 2) NOT NULL,

`dimen 3 number` DECIMAL(10, 2) NOT NULL,

`dimen 1 type` TEXT NOT NULL,

`dimen 2 type` TEXT NOT NULL,

`dimen 3 type` TEXT NOT NULL,

`materials 2` TEXT NOT NULL,

`manufacturing processes 2` TEXT NOT NULL,

`weight` INT(11) NOT NULL,

`measuring remarks` TEXT NOT NULL,

`munsell color information` TEXT NOT NULL,

`reproduction` TEXT NOT NULL,

`reproduction notes` TEXT NOT NULL,

`published description` TEXT NOT NULL,

`scholarly notes` TEXT NOT NULL,

`bibliography` TEXT NOT NULL,

`comparanda` TEXT NOT NULL,

`exhibit label` TEXT NOT NULL,

`artist` TEXT NOT NULL,

`spurlock loc 3` TEXT NOT NULL,

`archaeological data` TEXT NOT NULL,

`credit line` TEXT NOT NULL,

`provenance` TEXT NOT NULL,

`museum dedication` TEXT NOT NULL,

`spurlock status` TEXT NOT NULL,

`public description` TEXT NOT NULL,

`working set 5 wb` TEXT NOT NULL,

`image source` TEXT NOT NULL,

`cm mec ma` TEXT NOT NULL,

`webprivate` TEXT NOT NULL,

`spurlock loc 2` TEXT NOT NULL,

`hiresimagecheck` TEXT NOT NULL,

PRIMARY KEY (`aid`),

FULLTEXT KEY `name` (`name`),

FULLTEXT KEY `accession number` (`accession number`, `name`, `period 1`,

`visual description`, `materials 2`, `published description`, `artist`,

`credit line`),

FULLTEXT KEY `accession number_2` (`accession number`),

FULLTEXT KEY `visual description` (`visual description`),

FULLTEXT KEY `published description` (`published description`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS culture;

CREATE TABLE IF NOT EXISTS `culture`

(

`cid` INT(10) UNSIGNED NOT NULL auto_increment,

`culture` VARCHAR(255) NOT NULL,

PRIMARY KEY (`cid`),

UNIQUE KEY `culture` (`culture`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS geocity;

CREATE TABLE IF NOT EXISTS `geocity`

(

`gid` INT(10) UNSIGNED NOT NULL auto_increment,

`city` VARCHAR(255) NOT NULL,

PRIMARY KEY (`gid`),

UNIQUE KEY `city` (`city`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS geocontinent;

CREATE TABLE IF NOT EXISTS `geocontinent`

(

`gid` INT(10) UNSIGNED NOT NULL auto_increment,

`continent` VARCHAR(255) NOT NULL,

PRIMARY KEY (`gid`),

UNIQUE KEY `continent` (`continent`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS geocountry;

CREATE TABLE IF NOT EXISTS `geocountry`

(

`gid` INT(10) UNSIGNED NOT NULL auto_increment,

`country` VARCHAR(255) NOT NULL,

PRIMARY KEY (`gid`),

UNIQUE KEY `country` (`country`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS geolocality;

CREATE TABLE IF NOT EXISTS `geolocality`

(

`gid` INT(10) UNSIGNED NOT NULL auto_increment,

`locality` VARCHAR(255) NOT NULL,

PRIMARY KEY (`gid`),

UNIQUE KEY `locality` (`locality`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS georegion;

CREATE TABLE IF NOT EXISTS `georegion`

(

`gid` INT(10) UNSIGNED NOT NULL auto_increment,

`region` VARCHAR(255) NOT NULL,

PRIMARY KEY (`gid`),

UNIQUE KEY `region` (`region`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS nomcategory;

CREATE TABLE IF NOT EXISTS `nomcategory`

(

`nid` INT(10) UNSIGNED NOT NULL auto_increment,

`category` VARCHAR(255) NOT NULL,

PRIMARY KEY (`nid`),

UNIQUE KEY `category` (`category`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS nomclassification;

CREATE TABLE IF NOT EXISTS `nomclassification`

(

`nid` INT(10) UNSIGNED NOT NULL auto_increment,

`classification` VARCHAR(255) NOT NULL,

PRIMARY KEY (`nid`),

UNIQUE KEY `classification` (`classification`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

DROP TABLE IF EXISTS nomsubclassification;

CREATE TABLE IF NOT EXISTS `nomsubclassification`

(

`nid` INT(10) UNSIGNED NOT NULL auto_increment,

`subclassification` VARCHAR(255) NOT NULL,

PRIMARY KEY (`nid`),

UNIQUE KEY `subclassification` (`subclassification`)

)

engine=myisam

DEFAULT charset=latin1

auto_increment=1;

但是,当我尝试执行此查询时,我得到:

MySQL Error: 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 'CREATE TABLE IF NOT EXISTS `artifacts`

(

`aid` IN' at line 3

语法对我来说都很好,有人能发现错误吗?我使用的唯一SQL格式化程序报告没有错误 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL提示语法错误通常是由于SQL查询语句中存在语法错误导致的。常见的错误包括: 1. 拼写错误:检查SQL语句中是否有拼写错误或大小写错误。 2. 缺少分号:SQL语句必须以分号结束,如果没有分号,会提示语法错误。 3. 引号不匹配:如果在SQL语句中使用了引号,必须确保引号成对出现。 4. 数据类型错误:如果在SQL语句中使用了错误的数据类型,例如将字符值插入数值列中,会提示语法错误。 5. 名或列名错误:检查SQL语句中名或列名是否正确。 6. SQL注释错误:如果在注释中使用了错误的语法,会导致语法错误。 解决方法: 1. 仔细检查SQL语句,确保没有拼写错误或大小写错误。 2. 确保SQL语句以分号结束。 3. 检查引号是否成对出现。 4. 确保使用正确的数据类型。 5. 检查名或列名是否正确。 6. 确保注释使用正确的语法。 ### 回答2: MySQL提示语法错误是因为在SQL语句中存在错误的语法结构或者使用了错误的关键字。常见的语法错误包括但不限于以下几种情况: 1. 命令拼写错误:可能是因为命令拼写错误或者大小写写错了,MySQL对大小写是敏感的,所以在使用命令要确保拼写正确。 2. 关键字错误:在SQL语句中使用了错误的关键字,例如将SELECT写成了SELEC,或者使用了不支持的关键字。 3. 名或列名错误:在SQL语句中引用了不存在的或列名,可能是因为拼写错误或者或列不存在。 4. 缺失引号或引号使用错误:在SQL语句中引用字符串没有正确使用引号,或者使用了错误的引号类型。 5. 缺失分号:每个SQL语句应该以分号结尾,如果缺失分号,MySQL就会提示语法错误。 当出现MySQL提示语法错误,可以通过检查以上情况来进行排查和修正。此外,可以查看MySQL的报错信息,通常会给出具体的错误信息和位置,帮助我们更准确地定位和解决问题。另外,一些集成开发环境(IDE)或数据库管理工具还会在编写SQL语句提供语法高亮和智能提示功能,有助于避免语法错误的出现。 ### 回答3: MySQL提示语法错误通常是由于以下几种原因导致的: 1. SQL语句书写错误:在编写SQL语句,可能会忽略了某个关键字、函数名、括号等等,导致语法错误。需要仔细检查SQL语句,确保所有关键字和语法结构都正确。 2. 缺少引号或括号:在使用字符串或者日期的候,需要使用引号将其括起来。如果缺少引号或者括号,就会导致语法错误。需要确保引号或括号使用正确。 3. 名或列名错误:在SQL语句中引用名或列名,需要确保名称拼写正确,并且名或列名存在于数据库中。如果名称写错或者不存在,就会提示语法错误。 4. 数据库连接错误:如果在连接数据库的候出现错误,可能也会导致MySQL提示语法错误。需要确保数据库连接参数正确,并且数据库服务正常运行。 5. 版本不兼容:在不同版本的MySQL中,有些语法可能会有所改变或不支持。如果使用了不支持的语法,就会提示语法错误。需要根据所使用MySQL版本来编写兼容的SQL语句。 在遇到MySQL提示语法错误,可以先检查以上几个方面,逐一排查错误原因,并根据错误提示信息进行调整。同,也可以参考MySQL官方文档或者网上的资源来解决常见的语法错误

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值