在MDB ACCESS数据库上重置PHP中的AUTO_INCREMENT

时间:2016-06-15 07:04:31

标签: php auto-increment access

出于演示目的,我需要以ACCESS格式清空所有表" database.mdb"使用PHP然后将所有ID AUTO_INCREMENT重置为1,但是重置PRIMARY KEYS时遇到了问题。

重要的是我用PHP脚本做了所有事情。

我尝试过:

/* ConnString verso il database da compattare */
$oldConn="Provider=Microsoft.Jet.OLEDB.4.0;";
$oldConn.="Data Source=".$path.$olddb.";";
$oldConn.="Jet OLEDB:Database Password=$oldpass ;";

/* ConnString verso il nuovo database (compattato) */
$newConn="Provider=Microsoft.Jet.OLEDB.4.0;";
$newConn.="Data Source=".$path.$newdb.";";
$newConn.="Jet OLEDB:Database Password=$newpass ;";    
$je=new COM("JRO.JetEngine") or die("Compact failed");
    $je->CompactDatabase($oldConn,$newConn) ;
    $je->Release() ;
    $je= null ;

但我在使用CompactDatabase()时遇到错误。

我也试过PDO连接并且:

$pdo->exec("ALTER TABLE tbl AUTO_INCREMENT = 1");

$s = $pdo->prepare("ALTER TABLE tbl MODIFY COLUMN ID INT(10) UNSIGNED AUTO_INCREMENT");

但我明白了:Syntax error or access violation

还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

试试这个:

ALTER TABLE MyTable ALTER COLUMN MyColumn COUNTER(1,1)