Insert "zero" values in AUTONUMBER field in mySQL

Στη mySQL όταν θέλει κανείς να εισάγει ένα dump script και έχει πίνακες με τιμές 0 σε πεδία που είναι auto_number, τότε διαπιστώνει κανείς ότι δεν δέχεται την τιμή 0,
βάζει αυτόματα - κατά την εκτέλεση του dump - αντί για 0 το 1 και στη συνέχεια χτυπούν τα PKs.

Αυτό που μπορεί να κάνει κανείς είναι να «πειράξει» το sql-mode της mySQL.

Από το αρχείο my.ini (windows) ή my.cnf (linux) προσθέτοντας
στην παράμετρο sql-mode, την τιμή NO_AUTO_VALUE_ON_ZERO ( η τιμή της μεταβλητής είναι μια λίστα από παραμέτρους
της mySQL που η παρουσία τους τις ενεργοποιεί)
όπως φαίνεται παρακάτω:

sql-mode="...,NO_AUTO_VALUE_ON_ZERO"

Κάνεις restart την mySQL, τρέχεις το dump και εφόσον όλα είναι ΟΚ μπορείς να επαναφέρεις την παράμετρο sql-mode
στην αρχική της μορφή.

No comments:

Post a Comment