Попытка добавить таблицу и подключить ее к другой таблице в SQL

#sql #sql-server

#sql #sql-server

Вопрос:

Я пытаюсь использовать ключ FK для подключения значений из одной таблицы к существующей таблице внутри SQL

 CREATE TABLE tblPurchase
(
    PurchaseID int IDENTITY(1,1) PRIMARY KEY,
    UserID int,
    PIDSizeID nvarchar(MAX),
    CartAmount money,
    CartDiscount money,
    TotalPayed money,
    PaymentType nvarchar(50),
    PaymentStatus nvarchar(50),
    DateOfPurchese datetime,
    Name nvarchar(200),
    Address nvarchar(MAX),
    PinCode nvarchar(10),
    MobileNumber nvarchar(50),
    
    CONSTRAINT [FK_tblPurchase_ToUser] 
        FOREIGN KEY ([UserID]) REFERENCES [tblUsers] ([UID])
)
 

У меня есть таблица tblUsers , и я без проблем подключил к ней другие таблицы. Но на этот раз он говорит:

Внешний ключ ‘FK_tblPurchase_ToUser’ ссылается на недопустимую таблицу ‘tblUsers’.

Не удалось создать ограничение или индекс. Смотрите предыдущие ошибки. Есть предложения? единственное, что я пробовал, кроме проверки правописания, — это обновление с помощью Ctrl Shift R…..

Редактировать: имена столбцов, которые я использую в tblUsers

 [Uid] [Username] [Password] [Email] [Name] [Usertype]
 

Редактировать 2: я создал совершенно новую базу данных в SQL Server и просто снова добавил все таблицы, и все работает…. Я не знаю, почему SQL Server время от времени отказывается добавлять таблицы..

Комментарии:

1. Вероятно, разные схемы. REFERENCES [schema_name].[tblUsers] ([UID]) . Примечание: тег mysql, вероятно, неверен, это должен быть SQL Server / T-SQL

2. Ctrl Shift R просто обновляет intellisense, это не приводит к внезапному появлению объектов, которые в настоящее время не существуют. Если ошибка говорит, что она не существует, это не так; у вас опечатка, вы используете неправильную базу данных / схему или таблица действительно не существует.

3. Повторите свой комментарий, если бы вы добавили их все одновременно, вы бы добавили их все в одну и ту же схему и одну и ту же базу данных, одна из которых отличалась при первой попытке.

4. покажите скриншот древовидного представления схемы БД SQLS Management Studio, на котором четко показаны обе таблицы

5. Я предполагаю, что вы, вероятно, неправильно выбрали базу данных в SSMS. Допустим, у вас была выбрана основная база данных в SSMS … вы пытались создать tblPurchase с FK на tblUsers… но tblUsers не существует в основной базе данных, поэтому произошел сбой. Это случалось со мной миллион раз, и я был бы именно таким.