也许有人能告诉我为什么会这样。我编写了以下存储过程:
CREATE PROCEDURE Newmessages
@Message_id VARCHAR(20)
,@First_name VARCHAR(20)
,@Last_name VARCHAR(20)
,@Email VARCHAR(20)
,@Phone VARCHAR(20)
,@Postal_code VARCHAR(20)
,@Notification_1 BIT
,@Notification_2 BIT
,@Own_Pets BIT
,@Organization_Id VARCHAR(20)
,@Animal_Id VARCHAR(20)
AS
INSERT INTO [dbo].[Messages]
VALUES (@Message_id, @First_name, @Last_name, @Email, @Phone,
@Postal_code, @Notification_1, @Notification_2, @Own_Pets,
@Organization_Id, @Animal_Id)
现在我试着通过插入:
exec Newmessages '64654', 'Kelli', 'Adkins', 'acprthvs.bpuzcnt@gmail.com', '478-6273327', 'SR5 2QF', 'False', 'False', 'False', '91839', '40550'
我得到:
msg 547,level 16,state 0,procedure newmessages,line 4[batch start line 0]>insert语句与外键约束“fk\uu messages\uuu email\uuu3d9e16f4”冲突。冲突发生在数据库“petfinder”、表“dbo.users”、列“email”中。
问题是,我查过了,我确实收到了我想插入邮件的邮件 Users
表(这是错误)。
在这里我检查了它是否存在于 dbo.Users
:
有人知道为什么还会这样吗?
2条答案
按热度按时间ecr0jaav1#
您要插入的电子邮件地址是
acprthvs.bpuzcnt@gma
,表中不存在。您要输入的电子邮件地址长度为26个字符。
guicsvcw2#
使用insert上的显式列列表显式Map列: