mysql - 在表创建mysql上添加多个索引的语法错误
问题描述
我正在尝试运行具有多个索引的 CREATE TABLE 脚本。
CREATE TABLE IF NOT EXISTS Equipment (
EquipmentID BIGINT UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
Type VARCHAR(255) NOT NULL,
Make VARCHAR(255),
Model VARCHAR(255),
Description VARCHAR(255),
OperationNotes TEXT,
Damaged BOOLEAN DEFAULT 0,
PRIMARY KEY (EquipmentID),
INDEX ('EquipmentID'),
INDEX('Type'),
INDEX('Model'),
INDEX('Description')
INDEX('Damaged')
);
但是我得到一个语法错误:
"(" is not valid at this position for this server version
在线的:
INDEX ('EquipmentID'),
解决方案
单引号 ( '
) 表示字符串文字。引用对象名称(例如列)时,不应使用单引号。删除它们,你应该没问题。另外,请注意主键隐式创建索引,因此您不需要显式创建索引EquipmentID
:
CREATE TABLE IF NOT EXISTS Equipment (
EquipmentID BIGINT UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT,
Type VARCHAR(255) NOT NULL,
Make VARCHAR(255),
Model VARCHAR(255),
Description VARCHAR(255),
OperationNotes TEXT,
Damaged BOOLEAN DEFAULT 0,
PRIMARY KEY (EquipmentID),
INDEX (Type),
INDEX (Model),
INDEX (Description),
INDEX (Damaged)
);
推荐阅读
- node.js - Node.js 中间件包装
- node.js - 将此类数据存储在 mongoDb 中的最佳方法是什么?
- android - 从预填充的数据库创建时如何向 Room 实体添加额外的列?
- xamarin.forms - 如何使用 SkiaSharp 加载“独立于平台”的图像?
- stm32 - C:/Users/firmware/Desktop/uc4/New Folder/Inc/ff.h:28:10:致命错误:integer.h:没有这样的文件或目录
- node.js - 如果发生错误,如何让我的代码做一些不同的事情
- scala - 任务在 Databricks 上的 Scala 中不可序列化
- node.js - Multer 图像上传失败抛出 TypeError: Converting circular structure to JSON
- node.js - Redis 节点设置的最佳实践
- https - 如何在 Postman 中查看“发送请求时计算的”标头