作者rls0914 (鮮蚵起司)
看板PHP
標題[請益] 執行php讓mysql資料表UPDATE資料從1~300
時間Thu Oct 22 15:10:13 2015
我想要執行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://webptt.com/m.aspx?n=bbs/PHP/M.1445497815.A.675.html
1F:→ MOONRAKER: 自動排序不能update 你若要自己管理排序就不要設 10/22 15:42
2F:→ MOONRAKER: auto_increment 10/22 15:42
3F:推 sunnyvisit: insert into 搭配 select 換張新table? 看你的需求應 10/22 20:19
4F:→ sunnyvisit: 該是因為pk已經從300多開始 但希望是從1開始所以多一 10/22 20:19
5F:→ sunnyvisit: 個no的欄位? 10/22 20:19
6F:→ rls0914: 我300筆資料已經輸入了 換新table 是不是很麻煩? 10/22 20:28
7F:→ rls0914: 所以想增加一個NO欄位 想自己管理序號 10/22 20:29
8F:→ dinos: 加上 ORDER BY `primary_key` ASC 10/22 21:09
9F:→ xdraculax: 你的資料庫跟資料表都叫 _date ? 10/23 08:17
10F:→ xdraculax: 看不出那有問題,不然把 sql 輸出貼到 phpmyadmin 執 10/23 08:19
11F:→ xdraculax: 行看看 10/23 08:19
12F:推 Dinjang: UPDATE 後面 .`_date`刪掉看看 10/23 08:23
13F:→ Dinjang: 或是 WHERE後面的$raw[0]有問題 10/23 08:27
14F:→ sadle: 若col1為auto pk,重排後的 col2,col3 欄位值不變, 使用 10/24 02:01
15F:→ sadle: CREATE TABLE table_new LIKE table_old; //建新表 10/24 02:01
16F:→ sadle: 不排序用 INSERT table_new (col2,col3) SELECT col2,col3 10/24 02:03
17F:→ sadle: FROM table_old; 10/24 02:03
18F:→ sadle: 排序用 INSERT table_new (col2,col3) SELECT col2,col3 10/24 02:03
19F:→ sadle: FROM table_old ORDER BY col1; 10/24 02:03
20F:→ xdraculax: no是自訂排序,蠻常見的功能,跟流水號兩回事,不需要 10/24 10:50
21F:→ xdraculax: 換表 10/24 10:50