2013-08-12 80 views
-1

我已經運行超過200倍以下查詢沒有錯誤:MySQL的子查詢返回多個1行錯誤「

INSERT INTO tempAbsenceClientUpload SELECT FirstName, LastName, UserID, UserIsActive, Email, TopClient, ClientGroup, isUpdated, MainProcessID, rownumber FROM temporaryAbsClientTable 

簡單地從一個表中獲取到另一個。
但是,我現在收到以下錯誤消息:Subquery returns more than 1 row Error
任何人都可以幫助我理解爲什麼?

我真的不想要替代代碼建議,只是爲什麼發生。

謝謝。

+0

這不是全部查詢? – Justin

+0

您確定錯誤來自上述查詢嗎?因爲即使SELECT查詢返回多條記錄,它也會插入多條記錄。但不會給錯誤。 – hims056

+0

整個查詢是: #1242 - 子查詢返回多於一行 –

回答

0

您可能在第二個表中有重複項。 在這種情況下,你可以做到這一點,以消除他們:(創建表的副本第一)

ALTER IGNORE TABLE tableName ADD UNIQUE KEY keyName (`columnName`); 

,或者重複檢查:

select columnNameWithDuplicates, count(*) from tableName group by (columnNameWithDuplicates) having count(*)>1; 
0

我認爲你缺少WHERE子句,其給出這個錯誤

2

目標表上有一個'插入'觸發器。正在輸入的數據是在表達期望單個結果的第三個表格中引用的(正在生成兩個結果)。

因此,由於插入操作,「子例程」已連接到目標表觸發器中的函數。

感謝大家的想法。