Всем доброго времени суток!!! Я только начинаю изучать php MySQL, не могу разобраться с командой. Вставил адрес изображения в ячейку в phpMyAdmin, получил такую строку: Код (PHP): UPDATE `author_db`.`books` SET `books_img` = '/img/The_Vor_Game.jpg' WHERE `books`.`id_books` = 10; В соответствии с ней хотел заполнить остальные ячейки одной командой, перечисляя номера id, начал с одной и не получается. Воспользовался поиском, повесу похоже все правильно, но mysql ругается. Код (PHP): ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id_books=10' at line 1 В чем я ошибся? Код (PHP): UPDATE books SET books_img ='/img/The_Vor_Game.jpg' WHERE books id_books=10; PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
А вы не видите отличия между тем запросом, что сделали сами и тем, что PMA вам выдал? Приглядитесь внимательнее, чтоли. На месте ли все обратные кавычки, все точки...
Если честно, не рассчитывал на результат, но это первое, что я сделал, набрал этот код. НАДО БЫЛО СКОПИРОВАТЬ И ВСТАВИТЬ!!! Из того что я читал, он не выглядел синтаксически правильным запросом, к примеру: Fell-x27,сори за беспокойство. Как правильно будет выглядеть команда если добавить по id во все строки? Такое возможно? На перечисление через запятую ругается: Код (PHP): UPDATE `author_db`.`books` SET `books_img` = '/img/The_Warrior’s_Apprentice.jpg' WHERE `books`.`id_books` = 14,9,20; Fell-x27, спасибо!!! PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Возможно. Но гляди, значение будет для них одно и то же. Но писать надо не Код (PHP): WHERE `books`.`id_books` = 14,9,20; А Код (PHP): WHERE `books`.`id_books` in (14,9,20); . Если нужно разные значения для разных ID, то тогда в цикле генерируй отдельные запросы для каждого объекта.
в общем случае верно, но в MySQL есть трюк чтобы апдейтить несколько строк: через INSERT ON DUPLICATE KEY UPDATE команда сначала пытается вставить строку, но если указанный id уже существует, то для этой строки выполняется "запасной вариант" — обновление. так можно одним запросом изменить несколько строк. Добавлено спустя 7 минут 17 секунд: Код (PHP): INSERT INTO `author_db`.`books`(`id`, `books_img`) VALUES (14, '/img/alfa.jpg'), (9, '/img/beta.jpg'), (20, '/img/gamma.jpg') ON DUPLICATE KEY UPDATE `books_img` = VALUES(`books_img`) в последней строке VALUES(имя колонки) — это способ сослаться на значение, упомянутое выше в части insert
чтобы использовать значение из первой части INSERT где прописаны новые значения и не дублировать их во второй части запроса. Удобно.