none
SQL INSERT INTO VALUES的問題 RRS feed

  • 問題

  • 假如我的資料表(test)有三個欄位(分別欄位1,欄位2,欄位3,欄位4)

    欄位1     欄位2     欄位3     欄位4

    123       abc        2           1  

    234       bcd        3           3

    1         31        abc        123

    2         34        abc        123

    從第三筆開始,我欄位4的數字(123)要依照欄位3的abc去第一筆和第二比去找 

    ex >>(select 欄位1from test where 欄位2='abc') 出來的數字為123

    我今天要新增一筆資料我的欄位3是abc,也是依照第一筆和第二筆去顯示欄位4出來,而欄位1 從第三筆開始做累加

    以下是我的寫法:

    出來的資料應為3    56    abc     123

    inser into 資料表名稱(欄位1,欄位2,欄位3,欄位4)

    values ( (select max(欄位1) from test where 欄位3='abc')+1 ) , '56' , 'abc' , (select 欄位1from test where 欄位2='abc') )

    但是它出現

    此處不允許子查詢。只能用純量運算式。 以及  接近 '+' 之處的語法不正確。  這兩個錯誤

    有誰知道我哪裡錯了嗎?

    謝謝:D

    2011年3月8日 上午 08:48

解答

  • 先用變數去存,然後再INSERT

    或調整語法,改用 INSERT INTO ...... SELECT 語法

    • 已標示為解答 pg chen 2011年3月10日 下午 04:33
    2011年3月8日 上午 09:00

所有回覆

  • 先用變數去存,然後再INSERT

    或調整語法,改用 INSERT INTO ...... SELECT 語法

    • 已標示為解答 pg chen 2011年3月10日 下午 04:33
    2011年3月8日 上午 09:00
  • 你的括號少了一個吧 ...

    不過我也建議你使用參數或改個寫法,除非有一定要用這個語法的必要。


    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/pages/StudyAzurecom-yun-duan-xue-tang/155855707799579
    2011年3月8日 上午 09:01
    版主
  • 我只insert幾筆欄位的資料而已,其他欄位留null

    所以沒辦法用inser into....select的語法

    謝謝你的回答~~~~~

    2011年3月8日 上午 09:04
  • 喔喔我看到了:( 抱歉抱歉

    values裡面一個select和+1的動作是一定要的

    因為我sql語法沒有很好,所以卡在這裏好久:(:(

    謝謝你的回答~~

    2011年3月8日 上午 09:06
  • 已經試成功了

    謝謝各位~~

    2011年3月10日 下午 04:34