PHP/MySql重置增量
我有一个导入用户的脚本。PHP/MySql重置增量,php,mysql,wordpress,increment,Php,Mysql,Wordpress,Increment,我有一个导入用户的脚本。 每次导入/添加用户时,ID都会增加 问题是大量用户(±75)一次被删除,而50到100之间的用户一天被添加一次 是否可以让ID增量从最后一个“活动”ID开始,这样就不会浪费数据库 这是我使用的脚本。(好与坏目前无关) $filepath=get_bloginfo('template_directory')。“/import_test2.csv”; ini设置(“自动检测线结束”,TRUE); $file=fopen($filepath,“r”)或die(“打开文件时出错
每次导入/添加用户时,ID都会增加 问题是大量用户(±75)一次被删除,而50到100之间的用户一天被添加一次 是否可以让ID增量从最后一个“活动”ID开始,这样就不会浪费数据库 这是我使用的脚本。(好与坏目前无关)
$filepath=get_bloginfo('template_directory')。“/import_test2.csv”;
ini设置(“自动检测线结束”,TRUE);
$file=fopen($filepath,“r”)或die(“打开文件时出错”);
$i=0;
while(($line=fgetcsv($file,1000,“;”)!==FALSE){
如果($i==0){
$c=0;
foreach($col行){
$cols[$c]=$col;
$c++;
}
}否则如果($i>0){
$c=0;
foreach($col行){
$data[$i][$cols[$c]]=$col;
$c++;
}
}
$i++;
}
foreach($gebruiker数据){
$username=$gebruiker['username'];
如果(username_存在($username)&&$gebruiker['status']=='published'){
$user=get_user_by('login',$username);
更新_user_meta($user->ID,'first_name',$gebruiker['first_name']);
}否则{
$users=wp\u insert\u用户(
数组(
'user_login'=>$gebruiker['username'],
'user_pass'=>$gebruiker['password'],
“名字”=>$gebruiker[“名字”],
“姓氏”=>$gebruiker[“姓氏”],
'user_email'=>$gebruiker['email'],
'display_name'=>$gebruiker['first_name'.'。'$gebruiker['last_name'],
“昵称”=>$gebruiker['first_name'..”.$gebruiker['last_name'.],
'角色'=>'订户'
)
);
foreach($data as$update\U user){
更新用户元($users,'company',$gebruiker['bedrijf']);
更新_user_meta($users,'function',$gebruiker['functie']);
}
}如果(username_存在($username)&&$gebruiker['status']=='archived'){
require_once(ABSPATH.wp-admin/includes/user.php');
$user=get_user_by('login',$username);
echo$user->ID.
;
wp\u delete\u用户($user->ID);
}
}
我知道该脚本添加了不存在的用户,如果状态为archived
,则会在以后删除这些用户,但这是以后的事情。现在的重点是这个
希望有解决办法 将mysql自动递增计数器设置为最大id,请参阅。我不介意。如果你大部分时间都在浪费身份证,那也没什么大不了的。ID的默认类型通常是32位整数,这意味着在用完之前可以有大约21亿个数字(需要更改为长整数或64位整数)。如果它是一个无符号的32位整数,则会增加到大约45亿。正如@AmazingDreams所说,这并不重要。此外,如果你没有正确处理外键之类的东西,可能会导致其他问题。伙计们。如果我能涨到几十亿,我就到此为止!对我来说,重复使用ID听起来不是一个好主意。虽然很可能与您的项目无关,但我想建议避免这种习惯。
$filepath = get_bloginfo('template_directory')."/import_test2.csv";
ini_set('auto_detect_line_endings',TRUE);
$file = fopen($filepath, "r") or die("Error opening file");
$i = 0;
while(($line = fgetcsv($file, 1000, ";")) !== FALSE) {
if($i == 0) {
$c = 0;
foreach($line as $col) {
$cols[$c] = $col;
$c++;
}
} else if($i > 0) {
$c = 0;
foreach($line as $col) {
$data[$i][$cols[$c]] = $col;
$c++;
}
}
$i++;
}
foreach ($data as $gebruiker){
$username = $gebruiker['username'];
if ( username_exists( $username ) && $gebruiker['status'] == 'published' ){
$user = get_user_by( 'login', $username);
update_user_meta( $user->ID, 'first_name', $gebruiker['first_name'] );
}else{
$users = wp_insert_user(
array(
'user_login' => $gebruiker['username'],
'user_pass' => $gebruiker['password'],
'first_name' => $gebruiker['first_name'],
'last_name' => $gebruiker['last_name'],
'user_email' => $gebruiker['email'],
'display_name' => $gebruiker['first_name'] . ' ' . $gebruiker['last_name'],
'nickname' => $gebruiker['first_name'] . '' . $gebruiker['last_name'],
'role' => 'subscriber'
)
);
foreach ($data as $update_user) {
update_user_meta( $users, 'company', $gebruiker['bedrijf'] );
update_user_meta( $users, 'function', $gebruiker['functie'] );
}
}if(username_exists( $username ) && $gebruiker['status'] == 'archived'){
require_once(ABSPATH.'wp-admin/includes/user.php' );
$user = get_user_by( 'login', $username);
echo $user->ID.'<br>';
wp_delete_user( $user->ID );
}
}