VALUES ("хлеб"),("волк") ON DUPLICATE KEY UPDATE count =(count + 1);
он прибавляет 1 только к "хлеб"... Я так понимаю из за того что у него id=0, а как сделать что бы прибавлял 1 не имея id?
Всё правильно, так и должно быть
Увеличиваться будет счётчик только тех строк, котрые уже есть в таблице
Он прибавит к хлебу +2 так как у него id 0, а нужно что бы к хлебу +1 и к волку +1
Никакого id тут нет
Это DDL?
без id работает!
Без id не может работать. У тебя поле id - первичный ключ, обязательное поле, но не autoincrement. Ты его обязан указывать в каждом операторе вставки, как и сделано тут: INSERT INTO wordcount (id, word, count) VALUES (0, 'хлеб', '50'), (1, 'пиво', '6'),
А что бы работало так, как задумано, там ещё должен быть уникальный индекс на поле word, а его нет. А вот ID в такой таблице не нужен ни на хер.
Про это даже не знаю ничего, сейчас попробую разобраться
Ну и этого тоже мало, INSERT INTO wordcount (word, count) VALUES ("хлеб", 1),("волк", 1) ON DUPLICATE KEY UPDATE count =count + 1; Начальный count нужно установить же.
Обсуждают сегодня