我试图将此记录插入此表但实际上它不起作用而且我完全糊涂了
INSERT INTO Attendance_Records
VALUES ('12/12/2017', '1:00:00AM', '2:00:00AM', 'x y')
CREATE TABLE [dbo].[Attendance_Records]
(
[date] DATE NOT NULL,
[staff] VARCHAR(30) NOT NULL,
[start_time] TIME(7) NULL,
[end_time] TIME(7) NULL,
PRIMARY KEY CLUSTERED ([date] ASC, [staff] ASC),
FOREIGN KEY ([staff])
REFERENCES [dbo].[Staff_Members] ([username])
ON DELETE CASCADE ON UPDATE CASCADE
)
答案 0 :(得分:2)
如评论中所述 - 这是因为您忘记了STAFF专栏。您必须以正确的顺序插入它们,或在插入上指定顺序
INSERT INTO Attendance_Records ([date],[start_time],[end_time],[staff])
VALUES ('12/12/2017', '1:00:00AM', '2:00:00AM', 'x y')
...或
INSERT INTO Attendance_Records
VALUES ('12/12/2017','x y', '1:00:00AM', '2:00:00AM')
答案 1 :(得分:0)
看起来您的插入列中的列顺序搞乱了吗?你试图将值'x y'插入TIME列会给你一个错误。
编辑它或许:
INSERT INTO Attendance_Records
VALUES ('12/12/2017', 'x y', '1:00:00AM', '2:00:00AM')
答案 2 :(得分:0)
您似乎没有在插入中指定列名,因此它会按数据库顺序应用它们。 ' x y'被分配到end_time。