Я следую учебнику и изучая MVC из книги, где мне сказали создать таблицу, используя этот скрипт, который я сделал. Но теперь я хочу добавить целую строку в мою таблицу домашних животных, но я не могу этого сделать.Как вставить данные в строку в SQL?
Сценарий, используемый для создания всех моих таблиц.
CREATE TABLE [dbo].[Setting] (
[Id] INT NOT NULL IDENTITY(1, 1)
,[Key] VARCHAR(50) NOT NULL
,[Value] VARCHAR(500) NULL
,CONSTRAINT [PK_Setting] PRIMARY KEY ([Id])
);
CREATE TABLE [dbo].[PetType] (
[PetTypeID] INT NOT NULL IDENTITY(1, 1)
,[PetTypeDescription] VARCHAR(50) NULL
,CONSTRAINT [PK_PetType] PRIMARY KEY ([PetTypeID])
);
CREATE TABLE [dbo].[Status] (
[StatusID] INT NOT NULL IDENTITY(1, 1)
,[Description] VARCHAR(50) NOT NULL
,CONSTRAINT [PK_Status] PRIMARY KEY ([StatusID])
);
CREATE TABLE [dbo].[Pet] (
[PetID] INT NOT NULL IDENTITY(1, 1)
,[PetName] VARCHAR(100) NOT NULL
,[PetAgeYears] INT NULL
,[PetAgeMonths] INT NULL
,[StatusID] INT NOT NULL
,[LastSeenOn] DATE NULL
,[LastSeenWhere] VARCHAR(500) NULL
,[Notes] VARCHAR(1500) NULL
,[UserId] INT NOT NULL
,CONSTRAINT [PK_Pet] PRIMARY KEY ([PetID])
,CONSTRAINT [FK_Pet_Status] FOREIGN KEY ([StatusID]) REFERENCES [Status]([StatusID])
,CONSTRAINT [FK_Pet_User] FOREIGN KEY ([UserId]) REFERENCES [UserProfile]([UserId])
);
CREATE TABLE [dbo].[PetPhoto] (
[PhotoID] INT NOT NULL IDENTITY(1, 1)
,[PetID] INT NOT NULL
,[Photo] VARCHAR(500) NOT NULL CONSTRAINT [DF_PhotoFile] DEFAULT '/content/pets/no-image.png'
,[Notes] VARCHAR(500) NULL
,CONSTRAINT [PK_PetPhoto] PRIMARY KEY ([PhotoID])
,CONSTRAINT [FK_PetPhoto_Pet] FOREIGN KEY ([PetID]) REFERENCES [Pet]([PetID])
);
CREATE TABLE [dbo].[Message] (
[MessageID] INT NOT NULL
,[UserId] INT NOT NULL
,[MessageDate] DATETIME NOT NULL
,[From] VARCHAR(150) NOT NULL
,[Email] VARCHAR(150) NOT NULL
,[Subject] VARCHAR(150) NULL
,[Message] VARCHAR(1500) NOT NULL
,CONSTRAINT [PK_Message] PRIMARY KEY ([MessageID])
,CONSTRAINT [FK_Message_User] FOREIGN KEY ([UserId]) REFERENCES [UserProfile]([UserId])
);
Я хочу добавить некоторые случайные значения (для тестирования) в первую строку моего домашнего стола. Это первый ряд стола для домашних животных как изображение для большей ясности.
Я попытался с помощью этого сценария, чтобы добавить значения к моему столику.
INSERT INTO Pet VALUES ('1', 'Fido', '12', '4', '1', '12/07/2004', 'New York', 'nothing', '1')
Но я получил ошибку говоря
явное значение для столбца идентификаторов в таблице «Pet» может быть только тогда, когда список столбцов используется и IDENTITY_INSERT включен.
Теперь я довольно новичок в SQL и не могу понять это. Я посмотрел на другие ответы SO, где люди говорили что-то о SET IDENTITY_INSERT
, но это не сработало для меня. Я считаю, что неправильно понял другой ответ SO, так как я довольно новичок в языках баз данных. Так что нужна ваша помощь.
Благодаря
'[PetID]' столбец является 'identity' столбец. И вы также пытаетесь вставить данные в этот столбец. Просто удалите его. – Wanderer
u не нужно вставлять данные в столбец Identy – Avi
Возможный дубликат [Явное значение для столбца идентификации в таблице может быть указано только при использовании списка столбцов, а IDENTITY \ _INSERT - в SQL Server] (http://stackoverflow.com/questions/2005437/an-explicit-value-for-identity-column-in-table-can-only-be-defined-when-a) – Wanderer