[請益] mysql資料庫的問題

看板PHP作者 (是妳決定我的傷心)時間16年前 (2009/07/08 11:43), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
是這樣的 我在MYSQL資料庫中宣告一個欄位是 CHAR(20) 校對是 utf8_unicode_ci 如果我有一個值是15 我用UPDATE指令改成 15~16 的話就會出問題 但是改成其他的數字 例如20就OK 如果原本是 15~16 那改成數字或是M~N也都OK 請問要怎麼解決@@ 目前我是很白痴的使用DELETE再接上INSERT來取代UPDATE的功能 謝謝 $query_update = "UPDATE `db` SET "; $query_update .= "`d1`=$d1,`d2`=$d2,`d3`=$d3,`d4`=$d4,`d5`=$d5,`d6`=$d6, `d7`=$d7,`d8`=$d8,`d9`=$d9"; $query_update .= " WHERE `man`=$man AND `task`=$task AND `year`=$year AND `month`=$month AND `day`=$day"; 句子很長 因為是一個有14個欄位的table XD $query_delete = "DELETE FROM `db` WHERE "; $query_delete .= "`man`=$man AND `task`=$task AND `year`=$year AND `month`=$month AND `day`=$day"; $query_insert = "INSERT INTO `db` (`man`,`task`,`year`,`month`,`day`,`d1`, `d2`,`d3`,`d4`,`d5`,`d6`,`d7`,`d8`,`d9`) VALUES "; $query_insert .= "('$man','$task','$year','$month','$day','$d1','$d2','$d3', '$d4','$d5','$d6','$d7','$d8','$d9')"; 有出問題的是最上面的UPDATE 所以我用底下兩個SQL指令來取代它 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.29.35.157

07/08 14:46, , 1F
用VARCHER 會不會解決?
07/08 14:46, 1F

07/08 15:00, , 2F
列一下你的 sql 指令?
07/08 15:00, 2F
※ 編輯: alair99 來自: 163.29.35.157 (07/08 16:38)

07/08 16:39, , 3F
VARCHAR也是一樣耶 @@
07/08 16:39, 3F

07/08 16:45, , 4F
update 的地方加上 '' -> `d1`='$d1' 所有的
07/08 16:45, 4F

07/08 16:46, , 5F
`d2`='$d2' `d2`='$d3' etc...
07/08 16:46, 5F

07/08 17:37, , 6F
成功了耶 真是太感謝了 這個是字串的問題嗎@@"
07/08 17:37, 6F

07/08 17:43, , 7F
是的,字串請加上 '' 包起來~ 不然他會當成數字
07/08 17:43, 7F
文章代碼(AID): #1AL1Np3V (PHP)
文章代碼(AID): #1AL1Np3V (PHP)