- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, прошу помощи.
В существующую таблицу импортировался большой sql (на 8М через phpmyadmin).
Строки выглядели таким образом:
INSERT IGNORE INTO as_data VALUES ("",1,1,1,0);INSERT IGNORE INTO as_data VALUES ("",2,1,1,0);
INSERT IGNORE INTO as_data VALUES ("",3,1,1,0);
...
Первое значение - id, которое auto_increment и присваивается мускулом автоматически. Но по каким-то причинам при импорте такого большого файла это не сработало и все строки в бд были импортированы с нулевім id.
Check table сообщает: Found row where the auto_increment column has the value 0
Вопрос как лучше это исправить? Ни repear ни optimize не решили проблему. Может есть вариант обойтись без построчного update для каждой строки?
UPDATE <таблица> SET <столбец где должен быть инкремент>=1;
UPDATE <таблица> SET <столбец где должен быть инкремент>=1;
В итоге весь столбец id стал=1...
ALTER TABLE <таблица> AUTO_INCREMENT = 1;
ALTER TABLE <таблица> AUTO_INCREMENT = 1;
Решил таким способом: удалил существующий индекс, создал новый столбец id2 и назначил ему auto_incerment. Удалил старый id и переуменовал новосозданный.
Одна фигня - id пошли с 1, чем "подпортил" таблицу.
перекопировать всю таблицу с заранее установлеными id и auto_increment, несложный код в цикле при большой базе по 100 строк копировать, потом новую таблицу переимновать в старую