Php 在MySQL中修改要递增的行
我有下表: 列=[id cid注释] 我需要一种方法使表中每行的cid(注释id)值增加1 第1行,cid=0 第2行,cid=1 第3行,cid=2 等等 现在cid=id,因为这个php脚本:Php 在MySQL中修改要递增的行,php,mysql,Php,Mysql,我有下表: 列=[id cid注释] 我需要一种方法使表中每行的cid(注释id)值增加1 第1行,cid=0 第2行,cid=1 第3行,cid=2 等等 现在cid=id,因为这个php脚本: <?php $con = mysql_connect("localhost","MYUSER","MYPASS"); if (!$con) { die('Could not connect: ' . mysql_error()); } $id=0; $totalrows=23207
<?php
$con = mysql_connect("localhost","MYUSER","MYPASS");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$id=0;
$totalrows=23207;
mysql_select_db("MYDB", $con);
while($id < $totalrows)
{
$sql = "UPDATE comments SET cid=$id WHERE id=$id";
mysql_query($sql,$con);
$id++;
}
mysql_close($con);
?>
有人能提供一个合适的mysql查询吗
注意:我没有任何“单独的钥匙”。。。我需要cid与特定注释相对应,以便我可以删除、修改它,等等。(是的,在创建表之前我应该考虑到这一点)>\up>如果
cid
是表的主键,那么您可以为其指定属性。这将自动为插入的所有新行分配唯一值:
-- when use NULL as value for id mysql automatically set next unique number
INSERT INTO table (cid, id, comment) VALUES (NULL, ?, ?);
您还可以更改现有数据:
ALTER TABLE table CHANGE cid cid INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
你就不能这样做:
ALTER TABLE comments ADD cid INT AUTO_INCREMENT PRIMARY KEY;
您需要先删除旧的cid
列