[MySQL] Auto-increment per id
- -
02/10/2006 17:21:00Ik heb een tabel met deze kolommen:
id
pid
nummer
...
Nu wil ik dat als je meerdere rijen invoegt met dezelfde waarde voor 'pid', dat hij dan 1 optelt bij 'nummer'. Zo heeft elke rij per 'pid' een eigen nummer.
Voorbeeldje:
Zit hier toevallig een functie voor ingebouwd in MySQL?
id
pid
nummer
...
Nu wil ik dat als je meerdere rijen invoegt met dezelfde waarde voor 'pid', dat hij dan 1 optelt bij 'nummer'. Zo heeft elke rij per 'pid' een eigen nummer.
Voorbeeldje:
Zit hier toevallig een functie voor ingebouwd in MySQL?
PHP hulp
18/11/2024 10:41:36Jelmer -
02/10/2006 17:56:00Robert Deiman
02/10/2006 17:59:00Je kan met een select de MAX(nummer) ophalen, die +1 doen, en dan inserten.
SELECT MAX(nummer) AS maxnummer FROM tabel WHERE pid = 'het_in_te_voegen_pid'
SELECT MAX(nummer) AS maxnummer FROM tabel WHERE pid = 'het_in_te_voegen_pid'
Frank -
02/10/2006 18:44:00Waarom zou je 'nummer' (een aantal) willen opslaan wanneer je dit zeer eenvoudig kunt berekenen op het moment dat je het nodig hebt? Berekende gegevens hoor je niet op te slaan, het is vragen om problemen.
- -
02/10/2006 18:48:00Ik wil graag dat je een lijstje krijgt van namen, maar bij die namen wil ik ook een nummer, zodat je de dingen kunt herkennen, ook als de namen hetzelfde zijn.
En uiteraard wil ik niet SELECT, maar INSERT, zodat als ik een rij invoeg, hij het nummer automatisch opslaat.
En uiteraard wil ik niet SELECT, maar INSERT, zodat als ik een rij invoeg, hij het nummer automatisch opslaat.
Robert Deiman
02/10/2006 18:55:00Weet ik Herjan, maar je zal eerst moeten bepalen wat het hoogste getal is, of wordt het 4 keer achter elkaar gedaan met hetzelfde script, dan kan je:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$aantal=4;//aantal keer invoeren
for($i=1;$i<$aantal;$i++){
//insert query met $i bij nummer
}
?>
$aantal=4;//aantal keer invoeren
for($i=1;$i<$aantal;$i++){
//insert query met $i bij nummer
}
?>
- -
02/10/2006 18:56:00Nee, maar ik dacht, misschien zit er en soort functie als auto_increment in MySQL, maar dan voor elke waarde van 'pid' een eigen increment...