我是一年级学生,我正在攻读计算机学位。我一直在设计一个基于设计和构建数据库的模块。
以下是我创建的数据库,这是基于已发布的案例研究。我试过使用验证器等没有运气。
当我尝试执行此代码时,我遇到了很多语法错误,请帮助我找不到解决方案。
CREATE TABLE `students` (
PRIMARY KEY (`STUDENT_ID`),
UNIQUE KEY (`TENANT_ID`)
`STUDENT_ID` INT (11) NOT NULL auto_increment,
`TENANT_ID` INT (11) NOT NULL default '0',
`NAME` VARCHAR (64) NOT NULL default '',
`SURNAME` VARCHAR (64) NOT NULL default '',
`DOB` DATETIME NOT NULL default '0000-00-00',
`ADDRESS` VARCHAR (64) NOT NULL default '',
`POSTCODE` VARCHAR (7) NOT NULL default '',
`EMAIL` VARCHAR (64) NOT NULL default '',
`PHONE` VARCHAR (14) NOT NULL default '',
`CONFIRMED` INT (1) NOT NULL default '0',
`GENDER` VARCHAR(6) NOT NULL CHECK (Gender IN ('M', 'F'))
)
INSERT INTO `students` VALUES (`01', '001', ‘GRASS’, ‘LIAM’, ‘20-JUL-1992’,‘M’,'5 BROWN LANE','SS8 4FG','lgrass@gmail.com', `07458914578', );
INSERT INTO `students` VALUES (`02', '002', ‘BONES’, ‘PAUL’, ‘01-OCT-1991’,‘M’,'112 SAND WAY','CM15 7GT','pbones@gmail.com', `07985214748', );
INSERT INTO `students` VALUES (`03', '003', ‘KOLINSKY’, ‘RAV’, ‘19-SEP-1991’,‘M’,'111 ROVER ROAD','ER44 4RT','rkoli@gmail.com', `07723698517', );
INSERT INTO `students` VALUES (`04', '004', ‘MKO’, ‘LUCY’, ‘02-DEC-1992’,‘F’,'4 PEM GROVE','E12 W34','mko@gmail.com', `07528963756', );
INSERT INTO `students` VALUES (`05', '005', ‘MAKAMA’, ‘JENNY’, ‘23-JAN-1991’,‘F’,'4445 GOGG LANE','WC1E 3ER','makama@gmail.com', `07985641577', );
INSERT INTO `students` VALUES (`06', '006', ‘RAKTA’, ‘RAUL’, ‘10-MAY-1991’,‘M’,'234 ELA ROAD','SS8 4FG','rrakta@gmail.com', `07854711147', );
INSERT INTO `students` VALUES (`07', '007', ‘KUELA’, ‘CARLORINA’, ‘15-JUN-1992’,‘F’,'234 GRAND ROAD','BD8 9RR','ckuela@gmail.com', `07444589214', );
INSERT INTO `students` VALUES (`08', '008', ‘GEORGE’, ‘BEST’, ‘18-OCT-1991’,‘M’,'4 RAIL ROAD','MM5 5NN','gbest@gmail.com', `07884710369', );
INSERT INTO `students` VALUES (`09', '010', ‘KNOW’, ‘WER’, ‘02-FEB-1992’,‘F’,'9 LANE LANE','BG74 8UH','wknow@gmail.com', `07474010502', );
INSERT INTO `students` VALUES (`10', '010', ‘FAN’, ‘FANWELL’, ‘10-NOV-1992’,‘M’,'2 GNOME ROAD','GF3 8VA','ffan@gmail.com', `07425800369', );
CREATE TABLE `accommodation` (
PRIMARY KEY (`ROOM_ID`)
UNIQUE KEY (`HALLS_NAME`)
`ROOM_ID` INT (11) NOT NULL AUTO_INCREAMENT,
`TYPE` VARCHAR (64) NOT NULL default '',
`PRICE` INT (11) NOT NULL default '0',
`HALLS_NAME` VARCHAR (64) NOT NULL default '',
`STATUS` INT (1) NOT NULL default '0',
`TENANT_ID` INT (11) NOT NULL default '',
`START_DATE` DATETIME NOT NULL default '0000-00-00 00:00:00',
`END_DATE` DATETIME NOT NULL default '0000-00-00 00:00:00',
INSERT INTO `accommodation` VALUES (`0001`, `ENSUITE`, `400`, `FOX`, `OCCUPIED`, `001`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0002`, `SINGLE`, `200`, `FOX`, `OCCUPIED`, `002`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0003`, `SINGLE`, `200`, `FOX`, `OCCUPIED`, `003`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0004`, `DISABLED`, `600`, `FOX`, `OCCUPIED`, `004`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0001`, `SINGLE`, `300`, `CUB`, `OCCUPIED`, `005`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0002`, `SINGLE`, `300`, `CUB`, `VACANT`, ``, ``, ``,);
INSERT INTO `accommodation` VALUES (`0003`, `ENSUITE`, `500`, `CUB`, `OCCUPIED`, `006`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0004`, `SINGLE`, `300`, `CUB`, `VACANT`, ``, ``, ``,);
INSERT INTO `accommodation` VALUES (`0001`, `ENSUITE`, `500`, `TIGER`, `OCCUPIED`, `007`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0002`, `ENSUITE`, `500`, `TIGER`, `OCCUPIED`, `008`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0003`, `ENSUITE`, `500`, `TIGER`, `VACANT`, ``, ``, ``,);
INSERT INTO `accommodation` VALUES (`0004`, `ENSUITE`, `500`, `TIGER`, `VACANT`, ``, ``, ``,);
INSERT INTO `accommodation` VALUES (`0001`, `SINGLE`, `200`, `LION`, `OCCUPIED`, `009`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0002`, `SINGLE`, `200`, `LION`, `OCCUPIED`, `010`, `01-OCT-2009`, `01-OCT-2010`,);
INSERT INTO `accommodation` VALUES (`0003`, `ENSUITE`, `500`, `LION`, `VACANT`, ``, ``, ``,);
INSERT INTO `accommodation` VALUES (`0003`, `ENSUITE`, `500`, `LION`, `VACANT`, ``, ``, ``,);
CREATE TABLE `staff` (
PRIMARY KEY (`EMPLOYEE_ID`)
UNIQUE KEY (`EMAIL`)
`EMPLOYEE_ID` INT (11) NOT NULL AUTO_INCREAMENT,
`SURNAME` VARCHAR (64) NOT NULL default '',
`GENDER` INT (1) NOT NULL default 'M',
`INSPECTS` VARCHAR (64) NOT NULL default '',
`RECRUITED` INT (11) NOT NULL default '',
`POSTCODE` VARCHAR (7) NOT NULL default '',
`DOB` datetime NOT NULL default '0000-00-00',
`POSITION` VARCHAR (64) NOT NULL default '',
`SALARY` INT (11) NOT NULL default '0',
`EMAIL` VARCHAR (64) NOT NULL default '',
)
DELIMITER //
DROP TRIGGER IF EXISTS MAX_NUM//
CREATE TRIGGER MAX_NUM BEFORE INSERT ON STAFF
FOR EACH ROW
BEGIN
IF NEW.SALARY < 0 or NEW.SALARY > 75000 THEN
SET NEW.AGE = NULL;
END IF;
END//
DELIMITER;
INSERT INTO `staff` (SALARY) VALUES (-1);
INSERT INTO `staff` (SALARY) VALUES (75001);
INSERT INTO `staff` (SALARY) VALUES (75000);
INSERT INTO `staff` (`0010`, `RHODES`, `M`, `LION`, `2010`, `SD20 52RF`, `10-DEC-1985`, `MANAGER`, `74999`, `rhodes@abbey.ac`,);
INSERT INTO `staff` (`0010`, `HEINZE`, `F`, `CUB`, `2009`, `WC1 4RF`, `10-DEC-1985`, `SUPERVISOR`, `71999`, `heinze@abbey.ac`,);
INSERT INTO `staff` (`0010`, `BARNES`, `F`, `FOX`, `2010`, `DD4 5VB`, `10-DEC-1985`, `ADMINISTRATOR`, `34999`, `barnes@abbey.ac`,);
INSERT INTO `staff` (`0010`, `COLE`, `F`, `TIGER`, `2010`, `NT34 5TG`, `10-DEC-1985`, `CLERK`, `22999`, `cole@abbey.ac`,);
INSERT INTO `staff` (`0010`, `LUPIRE`, `M`, `LION`, `2010`, `E4 2EE`, `10-DEC-1985`, `CARE TAKER`, `14999`, `lupire@abbey.ac`,);
INSERT INTO `staff` (`0010`, `WILSHIRE`, `F`, `TIGER`, `2010`, `WE3 8CV`, `10-DEC-1985`, `SECRETARY`, `74999`, `wilshire@abbey.ac`,);
INSERT INTO `staff` (`0010`, `WALDON`, `M`, `FOX`, `2010`, `AS1 2DF`, `10-DEC-1985`, `ACCOUNTANT`, `74999`, `waldon@abbey.ac`,);
INSERT INTO `staff` (`0010`, `KNIGHT`, `F`, `LION`, `2010`, `XC23 1WA`, `10-DEC-1985`, `ADMINISTRATOR`, `34999`, `knight@abbey.ac`,);
INSERT INTO `staff` (`0010`, `GRANT`, `M`, `TIGER`, `2010`, `ED2 5GB`, `10-DEC-1985`, `SUPERVISOR`, `71999`, `grant@abbey.ac`,);
INSERT INTO `staff` (`0010`, `RAY`, `M`, `CUB`, `2010`, `SS0 9ST`, `10-DEC-1985`, `ADMINISTRATOR`, `34999`, `ray@abbey.ac`,);
答案 0 :(得分:2)
INSERT INTO `students` VALUES (`01', '001', ‘GRASS’, ‘LIAM’, ‘20-JUL-1992’,‘M’,'5 BROWN LANE','SS8 4FG','lgrass@gmail.com', `07458914578', );
请注意这一部分:
`07458914578'
这是不匹配的。也不要使用反引号来编写字符串或值。这些是指定列,数据库和表名称。最后你还有一个逗号表示另一个值,但你没有留下任何东西。它应该是NULL
或''
。
为安全起见,您插入的所有值都应该只是单个非方向引号:'
答案 1 :(得分:2)
评论时间有点长。
以下是我注意到的一些事情:
您可能还有其他错误。
您应该从students
表开始,然后开始工作。然后,将插入运行到表中。然后转到下一个表格。增量方法是如何修复这些类型的编码问题。
答案 2 :(得分:1)
暂无法发表评论,请点击此处:
首先,您是如何提出此查询的?我看到许多引号(`)SQL会混淆。我建议一直使用'。的编辑强>
其次,你的表名,你不必使用引号。我猜你是先修好所有的引号,它会扼杀大量的错误。
答案 3 :(得分:0)