看板 PHP 關於我們 聯絡資訊
我想要執行php讓資料表no欄位從1依序排到300號,一直無法成功修改, 請問mysql指令是不是無法SELECT和UPDATE同時在php使用, primary_key欄位已經使用主鍵並且自動排序已經從300多號排到600多號了, 以下為PHP程式碼: <? include("_mysql.inc.php"); //收尋資料表 $sql = "SELECT `primary_key`,`no` FROM `_date`"; //執行指令 $result=mysqli_query($conn, $sql); $i=0; //依序取出資料 while ($row=mysqli_fetch_array($result)) { //修改資料 $sql="UPDATE `_date`.`_date` SET `no` = '$i', WHERE `_date`.`primary_key` = $row[0]"; mysqli_query($conn, $sql); $i++; } ?> 我能怎麼處理資料呢? 或是程式哪裡寫錯了呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.216.50 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1445497815.A.675.html
MOONRAKER: 自動排序不能update 你若要自己管理排序就不要設 10/22 15:42
MOONRAKER: auto_increment 10/22 15:42
sunnyvisit: insert into 搭配 select 換張新table? 看你的需求應 10/22 20:19
sunnyvisit: 該是因為pk已經從300多開始 但希望是從1開始所以多一 10/22 20:19
sunnyvisit: 個no的欄位? 10/22 20:19
rls0914: 我300筆資料已經輸入了 換新table 是不是很麻煩? 10/22 20:28
rls0914: 所以想增加一個NO欄位 想自己管理序號 10/22 20:29
dinos: 加上 ORDER BY `primary_key` ASC 10/22 21:09
xdraculax: 你的資料庫跟資料表都叫 _date ? 10/23 08:17
xdraculax: 看不出那有問題,不然把 sql 輸出貼到 phpmyadmin 執 10/23 08:19
xdraculax: 行看看 10/23 08:19
Dinjang: UPDATE 後面 .`_date`刪掉看看 10/23 08:23
Dinjang: 或是 WHERE後面的$raw[0]有問題 10/23 08:27
sadle: 若col1為auto pk,重排後的 col2,col3 欄位值不變, 使用 10/24 02:01
sadle: CREATE TABLE table_new LIKE table_old; //建新表 10/24 02:01
sadle: 不排序用 INSERT table_new (col2,col3) SELECT col2,col3 10/24 02:03
sadle: FROM table_old; 10/24 02:03
sadle: 排序用 INSERT table_new (col2,col3) SELECT col2,col3 10/24 02:03
sadle: FROM table_old ORDER BY col1; 10/24 02:03
xdraculax: no是自訂排序,蠻常見的功能,跟流水號兩回事,不需要 10/24 10:50
xdraculax: 換表 10/24 10:50