我正在尝试在 Filemaker -> MySQL 转换脚本中使用此查询。表创建步骤直接来自 phpMyAdmin 导出,我在 DROP 语句中添加。
如果存在工件,则删除表;
如果不存在“工件”则创建表
(
`aid` INT(11) UNSIGNED NOT NULL auto_increment,
`入藏号` TEXT NOT NULL,
`name` TEXT NOT NULL,
`period 1` TEXT NOT NULL,
`period 3 date` TEXT NOT NULL,
`视觉描述` 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,
`材料 2` TEXT NOT NULL,
`制造过程 2` TEXT NOT NULL,
`重量` INT(11) 非空,
`测量备注` TEXT NOT NULL,
`munsell 颜色信息` TEXT NOT NULL,
`reproduction` TEXT NOT NULL,
`复制说明` TEXT NOT NULL,
`发布的描述` TEXT NOT NULL,
`学术笔记` TEXT NOT NULL,
`参考书目` TEXT NOT NULL,
`comparanda` TEXT NOT NULL,
`展览标签` TEXT NOT NULL,
`艺术家` TEXT NOT NULL,
`spurlock loc 3` TEXT NOT NULL,
`考古数据` TEXT NOT NULL,
`credit line` TEXT NOT NULL,
`出处` TEXT NOT NULL,
`博物馆奉献` TEXT NOT NULL,
`spurlock status` TEXT NOT NULL,
`public description` TEXT NOT NULL,
`工作集 5 wb` TEXT NOT NULL,
`图片来源` TEXT NOT NULL,
`cm mec ma` TEXT NOT NULL,
`webprivate` 文本不为空,
`spurlock loc 2` TEXT NOT NULL,
`hiresimagecheck` 文本不为空,
主键(`aid`),
FULLTEXT KEY `name` (`name`),
FULLTEXT KEY `accession number` (`accession number`, `name`, `period 1`,
`视觉描述`,`材料2`,`已发表的描述`,`艺术家`,
`信用额度`),
FULLTEXT KEY `accession number_2` (`accession number`),
FULLTEXT KEY `visual description` (`visual description`),
FULLTEXT KEY `published description` (`published description`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在文化,则删除表;
如果不存在“文化”则创建表
(
`cid` INT(10) UNSIGNED NOT NULL auto_increment,
`culture` VARCHAR(255) NOT NULL,
主键(`cid`),
唯一键`文化`(`文化`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在地理城市,则删除表;
如果不存在 `geocity` 则创建表
(
`gid` INT(10) UNSIGNED NOT NULL auto_increment,
`city` VARCHAR(255) NOT NULL,
主键(`gid`),
唯一键“城市”(“城市”)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在地理大陆,则删除表;
如果不存在`geocontinent`,则创建表
(
`gid` INT(10) UNSIGNED NOT NULL auto_increment,
`continent` VARCHAR(255) NOT NULL,
主键(`gid`),
唯一键“大陆”(“大陆”)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在地理国家,则删除表;
如果不存在`geocountry`,则创建表
(
`gid` INT(10) UNSIGNED NOT NULL auto_increment,
`country` VARCHAR(255) NOT NULL,
主键(`gid`),
唯一键“国家”(“国家”)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
DROP TABLE IF EXISTS geolocality;
如果不存在`geolocality`,则创建表
(
`gid` INT(10) UNSIGNED NOT NULL auto_increment,
`locality` VARCHAR(255) NOT NULL,
主键(`gid`),
唯一键`locality`(`locality`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在地理区域,则删除表;
如果不存在 `georegion` 则创建表
(
`gid` INT(10) UNSIGNED NOT NULL auto_increment,
`region` VARCHAR(255) NOT NULL,
主键(`gid`),
唯一键 `region` (`region`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在名称类别,则删除表;
如果不存在`nomcategory`,则创建表
(
`nid` INT(10) UNSIGNED NOT NULL auto_increment,
`category` VARCHAR(255) NOT NULL,
主键(`nid`),
唯一键 `category` (`category`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在 nomclassification 则删除表;
如果不存在“nomclassification”则创建表
(
`nid` INT(10) UNSIGNED NOT NULL auto_increment,
`分类` VARCHAR(255) NOT NULL,
主键(`nid`),
唯一键`分类`(`分类`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
如果存在 nomsubclassification 则删除表;
如果不存在“nomsubclassification”,则创建表
(
`nid` INT(10) UNSIGNED NOT NULL auto_increment,
`subclassification` VARCHAR(255) NOT NULL,
主键(`nid`),
UNIQUE KEY `subclassification` (`subclassification`)
)
引擎=myisam
默认字符集=latin1
自动增量=1;
但是,当我尝试执行此查询时,我得到:
MySQL 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在“创建表如果不存在 `artifacts` 附近使用
(
`aid` IN' 在第 3 行
语法对我来说都很好,有人能发现错误吗?我使用的唯一 SQL 格式化程序不会报告任何错误。