Ошибка в запросе REPLACE

Тема в разделе "Базы данных", создана пользователем zek24, 6 июл 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zek24

    zek24

    Moderator
    Регистр.:
    14 ноя 2009
    Сообщения:
    780
    Симпатии:
    238
    Привет,
    подскажите, что не так в запросе...
    PHP:
    REPLACE product (
                                
    sku,
                                
    quantity)
            
    VALUES (
                                
    '13579',
                                
    10)
            
    WHERE product_id 231
    Выдает ошибку
    #1064 - 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 'WHERE product_id = 231' at line 7
     
  2. StrikeOFF

    StrikeOFF ♥kan inte lyfta utan lift♥

    Регистр.:
    20 мар 2010
    Сообщения:
    363
    Симпатии:
    204
    а почему 10 без ' и ; в конце
     
  3. zek24

    zek24

    Moderator
    Регистр.:
    14 ноя 2009
    Сообщения:
    780
    Симпатии:
    238
    10 без ' потому-что тип int(4) - для цифр не требуется '
    ; тоже, в данном случае, не обязательна, но не работает и с ней...
     
  4. binh

    binh

    Регистр.:
    6 сен 2011
    Сообщения:
    284
    Симпатии:
    75
    Вообщето REPLACE используется немного в другом контексте, подменяя данные на лету, да и синтаксис в ней немного другой. Например с оператором SELECT
    Код:
    SELECT Replace(StreetName, ' St.', ' Street') As Street, City, ZipCode FROM Addresses
    Вот рабочий вариант вашего запроса


    Код:
    UPDATE product SET sku ='13579', quantity=10  WHERE  product_id = 231
     
    
     
    zek24 нравится это.
Статус темы:
Закрыта.