【发布时间】:2011-10-10 04:18:59
【问题描述】:
我有以下mysql表数据 其中主键是 (id,seq)
id name seq
------------
1 a 1
1 b 2
1 c 3
1 d 4
现在我要做的是删除第一行并将剩余行中 seq 的值减少 1
我正在使用 php PDO。我已经删除了第一行,然后在 $result 中获取了剩余的行,然后做了以下操作
while($row1 = mysql_fetch_array($result,MYSQL_ASSOC))
$dbh->exec("update tablename set seq = seq-1 where id = $row1['id'] and seq > 1 ");
我收到以下错误
SQLSTATE[23000]:违反完整性约束:1062 键“PRIMARY”的重复条目
谁能帮我解决这个问题?
【问题讨论】:
-
您在
$result中的行是否按seq排序? -
我刚刚从 .... 中选择 * 并将其放入结果中
-
用
select * from tablename order by seq asc试试这个