我正在编写查询以向表中插入数据,但我一直收到错误:
'附近的语法不正确:'`
这是创建表格的查询:
php -m
这是我试图执行的CREATE TABLE Consultation_Slot
(
Slot_ID CHAR(7) NOT NULL PRIMARY KEY,
Appointment_Purpose VARCHAR(255) NULL,
Appointment_Status VARCHAR(11) NOT NULL,
Cancellation_Reason VARCHAR(255) NULL,
Slot_Time time(7) NOT NULL,
Slot_Date DATE NOT NULL,
Slot_Day CHAR(10) NOT NULL,
Room_No VARCHAR(5) NOT NULL,
Lecturer_ID CHAR(3) NOT NULL
REFERENCES Lecturer(Lecturer_ID),
Student_ID CHAR(6) NOT NULL
REFERENCES Student(Student_ID),
Schedule_ID CHAR(5) NOT NULL
REFERENCES Weekly_Consultation_Schedule(Schedule_ID)
)
语句:
INSERT
答案 0 :(得分:4)
您需要使用撇号包围DATE
和TIME
值:
INSERT INTO Consultation_Slot VALUES
(1000000,'I need to learn maths','avaliable','', '13:30', '1-28-2018',
'Sunday', 'RN001', 1111, 880001, 30001);
只有数字类型值不需要撇号。
还建议使用撇号包围查询中的所有其他值。确实它们是数字,但列类型是基于字符串的,因此将值作为数字提供将导致不必要的隐式转换:
INSERT INTO Consultation_Slot VALUES
('1000000','I need to learn maths','avaliable','', '13:30', '1-28-2018',
'Sunday', 'RN001', '1111', '880001', '30001');
但是,您的表格设计似乎不正确,其中一些列应该是数字而不是字符串,因此请查看您的表格设计。