모든 사용자를 삭제 한 후 모든 사용자의 사용자 ID를 다시 작성하는 기능을 사용하려고했습니다. 예제에서SQL 결과를 PHP 배열에 바인드
테스트 테이블 :
ID | 텍스트
1 | aaa
2 | bbb
3 | ccc
4 | ddd
6 | fff
7 | ggg
8 | hhh
9 | iii
10 | jjj
레코드를 삭제했습니다 : 5 | |
ID : EEE
나는
고정 TABLE 모든 사용자 ID를 수정하고 또한 MySQL을위한 자동 증가를 해결하려면 텍스트
1 | aaa
2 | bbb
3 | ccc
4 | ddd
5 | fff
6 | ggg
7 | hhh
8 | iii
9 | , 무슨 소리 ... 어떤 제안을 AUTO_INCREMENT 작품을 고정하지만 모든 사용자 ID를 고정 - JJJ
function rebuild_user_id($mysqli) {
$row_count = get_dbt_rows_count('test', $mysqli);
$result = $mysqli->query("SELECT id FROM test ORDER BY id ASC");
for ($i = 1; $i <= $row_count; $i++) {
//Fetch all rows in result and store them in an array $rows
$rows = array();
while($row = $result->fetch_row()) {
$rows[] = $row;
}
$currentid = $rows[$i];
$mysqli->query("UPDATE test SET id = $i WHERE id = $currentid");
}
// set fixed auto_increment
$ai_value = $row_count + 1;
$mysqli->query("ALTER TABLE `test` AUTO_INCREMENT=$ai_value");
}
나는 같은 결과에 모든 시간을 시도했습니다?
HTTP : //stackoverflow.com/questions/2089492/how-to-reindex-mysql-table 도움이 되길 바랍니다. – hek2mgl
왜이 작업을 수행하려고합니까? 일반적으로 말하자면, 매우 나쁜 아이디어 *. – eggyal
감사합니다 hek2mgl, 그것은 작동합니다 :) – VANKO