作者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/cn.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