台灣最大程式設計社群網站
線上人數
968
 
會員總數:241341
討論主題:186910
歡迎您免費加入會員
討論區列表 >> MySQL >> 如何用現有表格資料新增資料?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何用現有表格資料新增資料?
價值 : 10 QP  點閱數:418 回應數:3

樓主

一一一
門外漢
0 2
16 1
發送站內信

我現在有個表格叫作table好了
其中一個欄位是salary 裡面存著每個員工的月薪
也就是月薪
如果select salary*12 from table
可以叫出年薪的查詢結果
可是問題來了
如果我今天又新增一個 salary2的欄位
現在裡面都是空資料
我想把剛剛select的那筆資料匯入salary2這個欄位
我該怎麼做?

我是有嘗試
insert into table(salary12)
select salary*12 from table


這樣原本只有10筆的資料
直接變成20筆 原本多出的那10筆資料除了salary2這個欄位有鍵入正確資料以外其他欄位都是空的
如果再執行這個指令 又會翻倍
這絕不會是我們想要的結果
請問我該怎麼在SQL語法上做修改呢?
感謝

搜尋相關Tags的文章: [ SQL ] ,
本篇文章發表於2017-01-06 21:04
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
這很簡單呀~


試試看吧
本篇文章回覆於2017-01-07 10:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

彩虹
檢舉此回應
如果替換成你的



簡單來說,你不能使用insert
就字面上 insert 意思是「新增、插入」
所以當然會一直新增10筆上去,執行三次就新增30了...

所以你一開始應該就要往update(更新)指令去想

希望你能懂我的意思

本篇文章回覆於2017-01-07 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

彩虹
檢舉此回應
另外,再給你一個小技巧

你其實不用特地新增一個欄位來放年薪,這樣有點多此一舉
因為你的年薪大家一樣都是透過月薪*12月出來的

你只要在select的時候,new 一個新的欄位出來即可
範例如下:



===============================================================
而如果每個人的年薪計算月份不一樣
例如有些人12月,有些人13月

這樣子你應該新增的是【salaryMonth】欄位
分別記錄那些人是12月,那些人是13月

最後要顯示每個人各自年薪的時候,把這月薪*月份=年薪 => salary*salaryMonth as YearSalary


這樣子就能達到您要的效果
本篇文章回覆於2017-01-07 10:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.