Коротше кажучи, у мене є файл SQL, який я хочу імпортувати як skel
файл стилю, тому це буде робити неодноразово, програмно. Я можу редагувати файл SQL як завгодно, але волію не торкатися самого додатка.
Ця програма використовує userid = 0
для представлення анонімного користувача. Він також має відповідний (порожній) запис у базі даних для представлення цього "користувача". Отже, рядок у моєму вигляді skel.sql
виглядає приблизно так:
INSERT INTO `{{TABLE_PREFIX}}users` VALUES (0, '', '', '', 0, 0, 0, '', '', 0, 0, 0, 0, 0, NULL, '', '', '', NULL);
Проблема цього полягає в тому, що uid
це auto_increment
поле, для якого технічно 0
є недійсним значенням. Або, принаймні, якщо ви встановите значення 0, ви в основному говорите MySQL: "Будь ласка, вставте наступний ідентифікатор у це поле."
Тепер, я гадаю, я міг би додати INSERT
тоді UPDATE
запит до свого SQL-файлу, але чи є спосіб сказати MySQL загалом, що так, я насправді хочу вставити 0
в це поле?
sql_mode
це список прапорів, розділених комами. Якщо ви це зробитеsql_mode='NO_AUTO_VALUE_ON_ZERO'
, ви можете випадково відключити інші прапори