0

我得到这样的错误:

在第 8 行的 'Before INTEGER, PRIMARY KEY (ID), )' 附近使用正确语法的服务器版本

CREATE TABLE PatientPX (
  ID INTEGER NOT NULL, 
  PXDate DATETIME, 
  PatientID INTEGER, 
  PatientPXCategoryId INTEGER, 
  FileName VARCHAR(255), 
  PXName VARCHAR(255), 
  Before INTEGER, 
  PRIMARY KEY (ID),
)
4

3 回答 3

2

我认为它MySQL不是SQL Server,在 mysql 中,BEFORE是一个保留关键字。

CREATE TABLE PatientPX 
(
  ID INT NOT NULL, 
  PXDate DATETIME, 
  PatientID INT, 
  PatientPXCategoryId INT, 
  FileName VARCHAR(255), 
  PXName VARCHAR(255), 
  `Before` INT, 
  PRIMARY KEY (ID),
)

但我宁愿避免使用保留关键字上的名称,因为如果名称处理不当,则会出现问题。

于 2013-02-18T09:10:58.047 回答
0

before 是一个关键字(主要在 pl/sql 触发器中使用)。所以使用另一个列名。不要使用任何关键字。

于 2013-02-18T09:09:28.537 回答
0

它确实看起来像 MySQL 而不是 MS SQL ......但是我相信“之前”是一个保留字......因此它不能用于列名。

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

表 9.2。MySQL 5.0.96 中的保留字

于 2013-02-18T09:12:48.053 回答