[請益] 關於MySQL修改欄位資料問題

看板PHP作者 ( )時間14年前 (2010/06/27 19:11), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
我有一個欄位是存放.php抓到的日期, 資料型態是varchar 因為.php有修改的關係, 所以日期的格式變成 YYYY-MM-DD 我下SQL語法想要修改舊資料 如 2010-06-1變成 2010-06-01 我所寫的程式如下 <?php set_time_limit(0); $conn=mysql_connect("localhost","root","password")or die("connection error"); mysql_select_db("資料庫"); $result_main=mysql_query("SELECT id, 欄位 FROM 資料表 WHERE create_datetime = '2010-06-1' " ); while( list($id,$time) = mysql_fetch_row($result_main) ) { $date=str_replace("2010-06-1","2010-06-01",$time); mysql_query("SET NAMES 'utf8'"); mysql_query("UPDATE emotionscore SET create_datetime='".$date."' WHERE id='".$id."' "); } ?> 這程式的確有改到部分的 2010-06-1 但是我在phpMyAdmin點分頁的時候依然會看到 2010-06-1 然後我下 SELECT * FROM `資料表` WHERE '欄位' = '2010-06-1'; 找不到資料 若用 SELECT * FROM `資料表` WHERE '欄位' like '%2010-06-1%'; 會找到 2010-06-1與 2010-06-11 ~ 2010-06-19 的所有資料 請教各位先進這問題出在哪裡?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.43.208.93

06/27 23:22, , 1F
'2010-06-01' ?
06/27 23:22, 1F

06/27 23:24, , 2F
sorry 看錯問題 推錯文
06/27 23:24, 2F

06/28 21:46, , 3F
你在前面的select 請改為 like '2010-06-1 %'就可以了
06/28 21:46, 3F

06/28 23:09, , 4F
UPDATE tbl SET create_datetime = DATE(create_datetime)
06/28 23:09, 4F

08/07 19:05, , 5F
謝謝!!
08/07 19:05, 5F
文章代碼(AID): #1C9p7k0a (PHP)