2012-05-18 87 views
1

我想在SQL Server中創建一個數據庫,但它一直拋出錯誤。你能看看劇本,看看我是不是搞砸了嗎?刪除SQL Server拋出錯誤

drop database if exists cptc; 

create database cptc; 

use cptc; 

drop table if exists staff; 

create table staff (
    staffID int not null auto_increment, 
    fname varchar(25), 
    lname varchar(25), 
    title varchar(50), 
    phone varchar(10), 
    building varchar(10), 
    room varchar(10), 
    PRIMARY KEY(staffID), 
FULLTEXT (fname,lname) 
)ENGINE = MYISAM; 

INSERT INTO staff VALUES ('','michael','herrera','doctor','2539703420','B14','122'); 
INSERT INTO staff VALUES ('','holly','herrera','teacher','2534667896','B35','116'); 
INSERT INTO staff VALUES ('','jesse','kirsch','professor','2534567890','B12','112'); 
INSERT INTO staff VALUES ('','mark','wahlberg','professor','5552345678','B01','112'); 
INSERT INTO staff VALUES ('','philip','spears','technician','2065672345','B12','123'); 
INSERT INTO staff VALUES ('','andrew','jackson','teacher','2061234567','B32','101'); 
INSERT INTO staff VALUES ('','annie','smith','mechanic','2533345609','B23','102'); 
INSERT INTO staff VALUES ('','alfred','hills','teacher','2535821513','B14','103'); 
INSERT INTO staff VALUES ('','bobby','jones','nurse','5559876056','B10','104'); 
INSERT INTO staff VALUES ('','tiffany','jones','janitor','2539981265','B02','108'); 

更新:我認爲我有錯,因爲它是MySQL和非SQL。感謝大家爲你(真正快速)的答案!

+2

這是MySql,而不是Sql Server。 –

+0

該語法來自mySQL。您必須在sql-server-2008上使用MSSQL create-table語法 – int2000

+0

哦!這解釋了很多。我沒有寫,但我正在嘗試使用它。謝謝! – kreeSeeker

回答

3

這部分是MYSQL不是SQL服務器ENGINE = MYISAM;

這裏是表看起來像在SQL Server什麼(沒有全文索引,您首先需要啓用全文搜索,以創建一個完整的文本索引))

create table staff (
    staffID int not null identity, 
    fname varchar(25), 
    lname varchar(25), 
    title varchar(50), 
    phone varchar(10), 
    building varchar(10), 
    room varchar(10), 
    PRIMARY KEY(staffID) 
) 

的下降和創建數據庫看起來像這樣

USE [master] 
GO 

IF EXISTS (SELECT name FROM sys.databases 
WHERE name = N'cptc') 
DROP DATABASE cptc 
GO 

CREATE DATABASE [cptc] 

降落臺會這個樣子

IF EXISTS (SELECT * FROM sys.objects 
WHERE object_id = OBJECT_ID(N'staff') AND type in (N'U')) 
DROP TABLE staff 
GO 

最後,你需要ommit列的身份,同時插入,例如

INSERT INTO staff VALUES ('michael','herrera','doctor','2539703420','B14','122'); 

如果不ommit列,您將收到以下錯誤

消息8101 ,級別16,狀態1,行1

只有使用列列表且IDENTITY_INSERT爲ON時,才能指定表'staff'中標識列的顯式值。

0
  • AUTO_INCREMENT應身份(1,1)
  • ENGINE = MYISAM;不存在你期待什麼?
  • FULLTEXT(fname,lname)不正確。你想要什麼,實現全文serach?
0

問題不明確。你正在創建一個表而不是數據庫。 如果您提供實際的錯誤詳細信息,將會有所幫助。

順便說一句,你不應該爲autoincrement列自動添加任何值。我想這是造成這個問題。