2009-10-11 39 views
0
增加

我有如下表:http://kimag.es/share/59074317.png修改排在MySQL中

列= [ID CID評論]

我需要一種方法1,每做出的CID(註釋ID)的值增加在表中排。

行1,CID = 0

行2,CID = 1個

行3,CID = 2

現在CID因爲這個PHP腳本的= ID:

<?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來對應特定的註釋,所以我可以刪除它,修改它等等。(是的,我應該想到在創建表格之前> _ <)。

謝謝!

回答

1

你就不能這樣做:

ALTER TABLE comments ADD cid INT AUTO_INCREMENT PRIMARY KEY; 

你」首先需要刪除舊的cid列。

+0

這工作= D謝謝! – cnandreu

1

如果cid是表格的主鍵,那麼您可以指定AUTO_INCREMENT屬性。它會自動分配唯一值插入所有新行:

-- 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;