kan je de Volgende automatische indexwaarde ook wijzigen via een php script ipv phpmyadmin
ik heb het geprobeerd met volgende:

$sql4 = "UPDATE ".$num_database." SET
'$num_database_id' = '$num_nr'";
$res4 = mysql_query($sql4);

waarbij $num_database de naam van de database is en
$num_database_id de naam van het id tabel is
daar ik de Volgende automatische indexwaarde niet direct kon uitlezen van de database zonder een insert te doen heb ik een aparte database gemaakt waar de gegevens van de Volgende automatische indexwaarde vermeld staan met daarbij de naam van de database en het id tabel.
bv:
num_id num_oms num_nr num_database num_database_id
1 orders 201812956 orders orders_id
2 test 201810000 test_debitrshopcsv debitr_csv_id

ik hoop dat iemand mij kan helpen

[size=xsmall]Toevoeging op 20/06/2018 10:36:08:[/size]

Ik heb het al gevonden
ik het de query gewijzigd in

$sql4 = "ALTER TABLE ".$num_database." AUTO_INCREMENT= ".$num_nr."";
$res4 = mysql_query($sql4);

en dat werkt.
Dat is nou het mooiste van phpMyAdmin: je kan ook zien welke queries er kunnen worden uitgevoerd.

Verder wil ik er wel nadrukkelijk op wijzen dat het NIET de bedoeling kan zijn dat je zelf door MySQL aangemaakte ID-nummers gaat veranderen. Deze zullen diverse koppelingen hebben met andere velden, en je wilt niet graag dat ze deze door elkaar worden gehusseld. Dat ID is meer van belang voor de database dan voor jezelf.

Ook wil ik adviseren om geen mysql_****() functies meer te gebruiken, gezien deze er in PHP 7 uit zijn gehaald. De vervanger is dan de MySQLi-functiedriver. Persoonlijk zou ik de object georienteerde versie variant daarvan aanraden.
Inderdaad, ga bij voorkeur niet rommelen met auto_increment velden. Vooral niet als je geen database-transacties gebruikt, want dat kan dan potentieel best wel misgaan als meerdere threads dit doen. auto_increment velden werken van zichzelf al goed, maar als je hier zelf in loopt te prutten is dat niet langer gegarandeerd.

Waarom is het uberhaupt nodig dat id's worden aangepast? Is het niet beter om in te zetten op een oplossing waarin dit niet uitmaakt in plaats van het verstoren van processen die van zichzelf al goed werken?

Als "volgorde" op een of andere manier belangrijk is, introduceer dan een "volgnummer" kolom en houd het op die manier gesorteerd.
ik heb dit gemaakt daar ik dit gebruik in mijn shopprogramma van oscommerce waar het ordernummer de autoindex van de tabel orders is.
en dit dan aan het eind van het jaar, makkelijk direct het ordernummer te kunnen aanpassen daar mijn ordernummer bestaat uit een volgnummer (5 cijfers) met voorafgaand jet jaartal.
maar ik ben het eens om dit normaliter niet te gebruiken voor andere autoindex te wijzigen.
Edward dietrich op 20/06/2018 14:45:26
en dit dan aan het eind van het jaar, makkelijk direct het ordernummer te kunnen aanpassen daar mijn ordernummer bestaat uit een volgnummer (5 cijfers) met voorafgaand jet jaartal.

Dit klinkt als een aparte entiteit die zijn eigen kolom verdient.

Reageren