表 '#TT' 沒有標識屬性。無法執行 SET 操作
CREATE TABLE #TT (
CourseId INT,
UserId INT,
ClassId INT
);
INSERT INTO #TT (CourseId, UserId, ClassId)
SELECT CourseId, UserId, ClassId FROM dbo.T_MyOrder;
錯誤訊息提示「無識別屬性」,實際上是暫存表缺少主鍵,導致某些內部操作(如身分識別插入、觸發器、複寫等)無法執行。
CREATE TABLE #TT (
CourseId INT PRIMARY KEY, -- 加上主鍵
UserId INT,
ClassId INT
);
INSERT INTO #TT (CourseId, UserId, ClassId)
SELECT CourseId, UserId, ClassId FROM dbo.T_MyOrder;
作者測試發現:加上 PRIMARY KEY 後不報錯,移除後也不報錯,推測可能與暫存表快取/重用機制或特定版本行為有關。
ID INT IDENTITY(1,1) PRIMARY KEY 代理鍵暫存表缺少主鍵可能觸發「無識別屬性」錯誤。明確定義 PRIMARY KEY 可解決。此類問題常與特定版本、暫存表快取、觸發器/複寫環境相關,養成良好建表習慣可預防。