我試圖將值插入表charterFlight。我想要做的是複製另一個表和中的aircraft_id,crew_id和customer_id,並添加/插入其餘值。從另一個表中插入值並將新值添加到表中
運行上述代碼不會產生任何錯誤,但它不插入任何行以及!!!!
我試圖將值插入表charterFlight。我想要做的是複製另一個表和中的aircraft_id,crew_id和customer_id,並添加/插入其餘值。從另一個表中插入值並將新值添加到表中
運行上述代碼不會產生任何錯誤,但它不插入任何行以及!!!!
基於此評論...
@Ollie Error starting at line 1 in command:
INSERT INTO charterflight (aircraft_id, crew_id, customer_id, flight_time, flight_date,destination)
SELECT aircraft_id, crew_id, customer_id
FROM aircraft, crew, customer
Error at Command Line:1 Column:12 Error report: SQL Error: ORA-00947: not enough values 00947. 00000 - "not enough values" *Cause: *Action:
你試圖插入三個值成有6個字段的表。
INSERT INTO table (...)
中的字段數必須與表中的字段匹配。然後SELECT ... FROM
中的數字字段也必須與這些字段匹配。
任何不匹配都會導致您引用的錯誤。
編輯:回覆您的意見
,盡我所能建議,您插入飛機,機組的每個組合和客戶有以下...
INSERT INTO charterflight (aircraft_id, crew_id, customer_id, flight_time, flight_date, destination)
SELECT aircraft_id, crew_id, customer_id, NULL, NULL, NULL
FROM aircraft, crew, customer
然後,您可以再次手動分別替換NULL
值。
如果你不想爲flight_time, flight_date, destination
的NULL
值,那麼你可以只選擇的結果複製到EXCEL,並寫入Excel中的公式推,使您在inster聲明爲您服務。
超越我不得不承認,我不是真正確定要發生什麼,這兩種方法。
我意識到這一點,那就是我面臨的問題。我想從另一個表中提取前三個字段的值,併爲其餘三個字段(flight_time,flight_date,destination)手動添加值。我該怎麼做?用VALUES命令? – user1089592
@ user1089592 - 這取決於您是否想要在每條記錄中使用相同的值?如果是這樣,只需追加','航班時間','航班日期','目的地'。但是,如果你想爲每一行提供不同的值,你打算從哪裏得到這些值?你打算加入另一張桌子來獲得它們嗎? (注意,在你做所有表的CROSS JOIN的時候,無論數值或關係如何,獲取每種可能的組合都是你想要的嗎?)或者你可以使用NULL,NULL,NULL,然後返回並手動更新它們或使用UPDATE查詢。 – MatBailie
不,因爲每個航班都有不同的航班時間,航班日期,目的地,並由不同的客戶預訂,並由不同的機組人員(飛行員)駕駛......我正在彌補價值觀! – user1089592
在PHP的情況下,我們可以像這樣做,
<?php
$var1=''; //some value
$var2=''; //some value
$var3=''; //some value
$qry = "INSERT INTO charterflight
(aircraft_id, crew_id, customer_id, flight_time, flight_date,destination)
SELECT
aircraft_id, crew_id, customer_id ,$var1,$var2,$var3
FROM aircraft, crew, customer";
?>
我們可以通過選擇表中的列名後的變量插入。
@MatBailie我們也可以這樣做, – Techy
做***你的源表中的所有三個實際上都有值嗎? – MatBailie
請發出確切的SQL請求... – Ollie
select是否返回任何行?嘗試在沒有插入的情況下運行它,因爲通用語法對我來說確實很好。 –