我想运行一个查询来创建一个表用户,但是在执行查询时,我得到了一个错误:Started executing query at Line 1 Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '‘。总执行时间:00:00:00.031
这是我的疑问:
CREATE TABLE `users` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(30) NOT NULL,
`password` varchar(32) NOT NULL,
`secret` varchar(16) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `login` (`login`)
);有人能告诉我为什么在运行我的查询时会出现这个错误吗?
发布于 2018-02-06 16:32:37
您正在尝试在SQL-server上运行MySQL语法。
这是重写的Server语法。
SQL-server不支持backticks ('),所以我已经删除了它们。
SQL-server不支持AUTO_INCREMENT,相反,SQL-server正在使用标识。
SQL-server不支持无签名,所以我已经删除它。
server不支持int(8),因此我只将其更改为int。
CREATE TABLE users (
id int NOT NULL IDENTITY(1,1),
login varchar(30) NOT NULL,
password varchar(32) NOT NULL,
secret varchar(16) NOT NULL,
PRIMARY KEY (id),
UNIQUE (login)
);编辑
命名索引。
CREATE TABLE users (
id int NOT NULL IDENTITY(1,1),
login varchar(30) NOT NULL,
password varchar(32) NOT NULL,
secret varchar(16) NOT NULL,
CONSTRAINT PK_ID PRIMARY KEY (id),
CONSTRAINT UK_login UNIQUE (login)
);发布于 2018-02-06 16:35:23
我认为您试图在MySql语法中使用Sql Sever,Sql server引发了使用(‘)字符的错误。
使用此示例的syntax:
MySQL:
CREATE TABLE Persons (
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID),
PRIMARY KEY (ID)
);Server:
CREATE TABLE Persons (
ID int NOT NULL IDENTITY(1,1),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person_ID PRIMARY KEY (ID),
CONSTRAINT UC_Person_LastName UNIQUE (LastName)
);https://stackoverflow.com/questions/48647515
复制相似问题