Sailsman Δημοσ. 12 Αυγούστου 2007 Δημοσ. 12 Αυγούστου 2007 Καλησπέρα, θα ήθελα να μου προτείνετε έναν τρόπο ώστε όταν κάνω insert σε έναν πίνακα της MySQL να μπορώ να πάρω την τιμή ενός πεδίου που έχει το flag AUTO INCREMENT, έτσι ώστε να ξέρω σε ποια τιμή αυξήθηκε το πεδίο αυτό με την εισαγωγή αυτή!! Ιδέες.... Ευχαριστώ!
Sailsman Δημοσ. 14 Αυγούστου 2007 Μέλος Δημοσ. 14 Αυγούστου 2007 Σε java... Βρήκα την LAST_INSERT_ID() της MySQL, αλλά θέλω να μου επιστρέφεται η τιμή κατά την εισαγωγή ώστε να μην υπάρχει περίπτωση να μεσολαβήσει άλλη εγγραφή στο ενδιάμεσο....
NeTd4mN Δημοσ. 14 Αυγούστου 2007 Δημοσ. 14 Αυγούστου 2007 Και ένας μπακαλίστικος τρόπος είναι να πάρεις το max του auto increment πεδίου.
nikgik Δημοσ. 15 Αυγούστου 2007 Δημοσ. 15 Αυγούστου 2007 java code > ResultSetMetaData rsmd; int value=0; // the value that we would like to get for (int i = 1; i <= rsmd.getColumnCount(); i++) { // for every table column boolean isAutoInc = rsmd.isAutoIncrement(i); // get AutoIncrement field if (isAutoInc) { rsmd.last(); // go to last record value = rsmd.getInt(i); // get the value from the last record from the autoincrement field } }
Sailsman Δημοσ. 17 Αυγούστου 2007 Μέλος Δημοσ. 17 Αυγούστου 2007 Ευχαριστώ για τις απαντήσεις σας, αλλά θα ήθελα να μάθω αν υπάρχει τρόπος που να μην στηρίζεται στην προηγούμενη εγγραφή...Να σου επιστρέφει την τιμή απευθείας εκείνη τη στιγμή. Γιατί για φανταστείτε να γίνουν δύο εγγραφές και μετά να πας στην τελευταία εγγραφή. Τότε θα πάρεις την τιμή της δεύτερης εγγραφής και της πρώτης θα την χάσεις....
doubleh Δημοσ. 17 Αυγούστου 2007 Δημοσ. 17 Αυγούστου 2007 For LAST_INSERT_ID(), the most recently generated ID is maintained in the server on a per-connection basis. It is not changed by another client. It is not even changed if you update another AUTO_INCREMENT column with a non-magic value (that is, a value that is not NULL and not 0). Using LAST_INSERT_ID() and AUTO_INCREMENT columns simultaneously from multiple clients is perfectly valid. Each client will receive the last inserted ID for the last statement that client executed. Περισσότερα
Sailsman Δημοσ. 18 Αυγούστου 2007 Μέλος Δημοσ. 18 Αυγούστου 2007 Τέλεια...Δεν είχα προσέξει το απόσπασμα αυτό της LAST_INSERT_ID(). Σε ευχαριστώ πολύ doubleh που μου το επισήμανες!!!!
sotospez Δημοσ. 18 Αυγούστου 2007 Δημοσ. 18 Αυγούστου 2007 STON SQL2000 EINAI SELECT @@IDENTITY NOMIZO STON MYSQL EINAI SELECT SCOPE_IDENTITY()
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.