Value toy auto_increment

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
Pavel
Honorary Member
Δημοσιεύσεις: 1046
Εγγραφή: 08 Αύγ 2003 00:05
Τοποθεσία: UK

Value toy auto_increment

Δημοσίευση από Pavel » 07 Φεβ 2009 21:27

Τότε γιατί δεν κάνεις το INSERT και μετά να πάρεις το mysql_insert_id($link) ώστε να συνεχίσεις τη δουλειά σου;

Ή να κάνεις κατηγοριοποίηση ανάλογα με την ημερομηνία εισαγωγής.
Εσύ είσαι τρελός.

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Value toy auto_increment

Δημοσίευση από dva_dev » 07 Φεβ 2009 22:17

apoelista88 έγραψε:to xrisimopoiw gia na katigoriopioisw kapies ikones pou ginontai amesa upload analoga me to id pou tha dimiourgithi ekini ti stigmi.

Elpizw na katalaves :P
Αν πρόκειται να το χρησιμοποιήσεις σε ιστοσελίδα, δοκίμασε το παρακάτω απλό σενάριο:
Από δύο browsers διαφορετικούς επέλεξε κάποιο αρχείο να κάνεις upload. Στον α) browser διάλεξε κάποιο αρχείο μικρό (1-2KB μέγεθος). Στον β) browser διάλεξε κάποιο μεγάλο αρχείο (300-400KB). Πάτα submit στον β) browser και μετά submit και στον α) browser. Δες ποιά διαδικασία θα ολοκληρωθεί πρώτη και τι αρχεία θα έχουν αποθηκευτεί στο server σου και τι θα περιέχουν οι πίνακες σου αφού τελειώσουν και οι δύο διαδικασίες.

apoelista88
Δημοσιεύσεις: 19
Εγγραφή: 11 Σεπ 2005 03:11

Value toy auto_increment

Δημοσίευση από apoelista88 » 08 Φεβ 2009 14:34

@pavel: ipame den xrisimopoiite apo dio atoma taftoxrona, alla me katigories ana imera den ginetai afou prepei ana id epd mpenoun perissoteres apo 1 katigories kathimerina

@dva_dev: afto pou les einai emfanes alla e3artatai kai pote ginetai i apotikefsi stin vasi dedomenwn, prin i meta pou arxizei na diaxirizetai to arxeio. Opws kai na exei sas efxaristw alla gia to sigkekrimeno skopo pou to xreiazomai afto doulevei telia.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Value toy auto_increment

Δημοσίευση από soteres2002 » 08 Φεβ 2009 16:49

Το id που θα καταχωρήσει η MySQL στο επόμενο INSERT statement μπορείς να το πάρεις με το ερώτημα:

Κώδικας: Επιλογή όλων

SELECT LAST_INSERT_ID() + 1 AS nextid;
Αυτό θα βολέψει όταν θες να βρείς το id μέσα στο ίδιο το query ώστε να μην κάνεις περιττά πράγματα με τον client σου στην ΡΗΡ. Το last_insert_id() σε αυτή τη περίπτωση είναι το νουμεράκι που η mysql καταχώρησε στο τελευταίο insert σε πίνακα που κάποιο γνώρισμά του έχει την auto_increment ιδιότητα. Οπότε προσοχή αν έχεις πολλούς πίνακες με auto_increment γνωρίσματα!

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Value toy auto_increment

Δημοσίευση από cherouvim » 08 Φεβ 2009 17:44

soteres2002 έγραψε:Το id που θα καταχωρήσει η MySQL στο επόμενο INSERT statement μπορείς να το πάρεις με το ερώτημα:

Κώδικας: Επιλογή όλων

SELECT LAST_INSERT_ID() + 1 AS nextid;
Λάθος. Μπορεί να ειναι +7 αν έχουν γίνει 6 inserts σε άλλο transaction.

@apoelista88: Το να μαντέψεις το επόμενο id είναι λάθος. Πρέπει να χρησιμοποιήσεις το id που μόλις μπήκε, μέσα στο ίδιο transaction. Σιγουρέψου οτι καταλαβαίνεις το παρακάτω και πες μας αν αυτό σου κάνει:

Κώδικας: Επιλογή όλων

set autocommit=0;
insert into foo set info='test';
insert into foo set info=@@identity;
commit;
select * from foo;

+----+------+
| id | info |
+----+------+
|  1 | test |
|  2 | 1    |
+----+------+

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες