嗨我有一個名爲UID的列,該列的當前數據是像下面SQL從1遞增特定列到N
uid
---
0
0
0
0
0
0
0
0
0
我想從1填補值N.因此,例如,下面
uid
---
1
2
3
4
5
6
7
8
9
.
.
n
如何循環遍歷所有行和增量值。
嗨我有一個名爲UID的列,該列的當前數據是像下面SQL從1遞增特定列到N
uid
---
0
0
0
0
0
0
0
0
0
我想從1填補值N.因此,例如,下面
uid
---
1
2
3
4
5
6
7
8
9
.
.
n
如何循環遍歷所有行和增量值。
如果是PRIMARY KEY和INT!則只能將列定義爲AUTO_INCREMENT。 既然你想要的UID被設置爲AUTO_INCREMENT,爲什麼不把它作爲PRIMARY KEY
CREATE TABLE TableName
(
UID INT AUTO_INCREMENT PRIMARY KEY,
-- other columns...
)
問題是我無法使它的主要 – user3305305
嘗試此''ALTER TABLE' 'TableName'' MODIFY COLUMN'' uid'' INTEGER UNSIGNED NOT NULL AUTO_INCREMENT;''' ' –
ALTER TABLE表 ADD PRIMARY KEY(UID)AUTOINCREMENT;' –
$n = 50; //number of your records suppose it was 50
for($i=1; $i<=$n; $i++)
{
$res = mysql_query("select * from `table name` where `UID`=0 LIMIT 1 ");
if($row = mysql_fetch_assoc($res))
{
mysql_query("update `table name` set `UID`='$i' where UID=0 limit 1 ") or die(mysql_error)
}
}
不能我們沒有PHP? – user3305305
沒有文件,並運行它在服務器上 – wild
無法使其主要bcoz主鍵值必須是唯一的,並在所有行中的uid值爲0,首先改變它後,你能夠使這個字段的主鍵 – wild
可以以簡單的方式這樣做只是爲了顯示順序排如下:
SET @rank=0;
select @rank:[email protected]+1 AS rank from Table1;
否則,這樣做與PHP
編輯
嘗試做一些像日是:
ALTER TABLE Table1 MODIFY COLUMN `id` int(4) Primary key NOT NULL AUTO_INCREMENT;
我應該重新命名爲AS排名從AS到uid從? – user3305305
嘿querry是成功的,但它不反映在主表? – user3305305
@ user3305305是的,你會得到相同的結果。 – 7alhashmi
它是主鍵嗎?如果是的話,只是使它自動增量在phpmaydmin – Dexture
'改變表table_name修改列uid int(4)auto_increment' –
我試過了,我得到重複條目'0'的關鍵'主' – user3305305