首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL语法错误(MYSQL 5.0)

SQL语法错误(MYSQL 5.0)
EN

Stack Overflow用户
提问于 2011-12-30 01:30:48
回答 3查看 140关注 0票数 1

有谁知道MySQL5.0的语法出了什么问题吗?

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS target (
  _id int(11) NOT NULL AUTO_INCREMENT,
  time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  map_id int(11) DEFAULT NULL,
  left int(11) DEFAULT NULL,
  top int(11) DEFAULT NULL,
  status tinyint(1) NOT NULL,
  temperature int(11) DEFAULT NULL,
  humidity float DEFAULT NULL,
  lum int(11) DEFAULT NULL,
  PRIMARY KEY (_id),
  FOREIGN KEY (map_id) REFERENCES map(id) ON DELETE CASCADE
)

我将向您展示错误:

您的SQL语法中有一个错误;请查看与您的MySQL服务器版本对应的手册,了解要在第5行使用的正确语法:'left INTEGER DEFAULT NULL,top INTEGER DEFAULT NULL,status tinyint(1) NOT

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-30 01:32:39

因为left是一个MySQL 5.0 reserved word。此外,即使您可以转义字段名,在表定义中使用保留字也不是一个好主意。

票数 2
EN

Stack Overflow用户

发布于 2011-12-30 01:34:46

你必须这样写它:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS target (
  _id int(11) NOT NULL AUTO_INCREMENT,
  time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  map_id int(11) DEFAULT NULL,
  `left` int(11) DEFAULT NULL,
  top int(11) DEFAULT NULL,
  status tinyint(1) NOT NULL,
  temperature int(11) DEFAULT NULL,
  humidity float DEFAULT NULL,
  lum int(11) DEFAULT NULL,
  PRIMARY KEY (_id),
  FOREIGN KEY (map_id) REFERENCES map(id) ON DELETE CASCADE
)

看看左行中的 (反引号)字符!

票数 2
EN

Stack Overflow用户

发布于 2011-12-30 01:35:16

您正在使用保留字作为字段名称。你可以这样做,但是你必须正确地转义它们,就像这样:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS target (
  `_id` int(11) NOT NULL AUTO_INCREMENT,
  `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `map_id` int(11) DEFAULT NULL,
  `left` int(11) DEFAULT NULL,
  `top` int(11) DEFAULT NULL,
  `status` tinyint(1) NOT NULL,
  `temperature` int(11) DEFAULT NULL,
  `humidity` decimal(13,2) DEFAULT NULL,
  `lum` int(11) DEFAULT NULL,
  PRIMARY KEY (_id),
  FOREIGN KEY (map_id) REFERENCES map(id) ON DELETE CASCADE
)

我的建议是避免保留名称。

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

https://stackoverflow.com/questions/8671128

复制
相关文章

相似问题

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