我是新來的PLSQL和該命令被搞砸了的東西:PLSQL命令插入到從選擇給出了唯一約束錯誤
insert into coffee_tea_join_table
select coffee_id, 16
from coffee_tea_join_table
where tea_id = 6;
這會返回一個
「原因:java.sql中。 SQLException:ORA-00001:唯一約束違反了「 」錯誤。
coffee_tea_join_table只有兩列,coffee_id和tea_id。
它看起來像聲明想要再次插入它從它所選擇的同一張表。我猜它會查找coffee_id表,其中相應的tea_id = 6,但爲什麼是那裏的'16'靜態值?沒有'16'列...
如果它找到coffee_id,其中tea_id = 6,那麼爲什麼將它插入到同一個表中又有意義?也許這就是爲什麼違反約束?
最有可能的是它試圖插入16每個coffee_id它有一個tea_id = 6。這意味着這種說法可能不是原因。相反,其他一些腳本在執行之前會插入錯誤的數據... – user1636922