Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Помогите составить sql запрос по генерации sku


newjey
 Поделиться

Рекомендованные сообщения

Добрый день.

Помогите составить sql запрос для внесения всем товарам данных в поле sku по принципу:

$sku = rand ( 1000 , 9999 ) . "-" . $product_id;
$this->db->query("UPDATE " . DB_PREFIX . "product SET sku = '" . $sku . "' WHERE product_id = '" . (int)$product_id . "'");
тоесть надо всем товарам прописать sku ххх-хххх где ххх-это произвольное, рандомное число, а ххх-это id товара.
Спасибо.
Ссылка на комментарий
Поделиться на других сайтах


$this->db->query("UPDATE " . DB_PREFIX . "product SET sku = concat(product_id,'_',product_id)");

 

Поскольку product_id уникален, то и sku будет уникальным.

 

Рандом лучше не использовать - чисто случайно возможно дублирование.
Ссылка на комментарий
Поделиться на других сайтах


 

$this->db->query("UPDATE " . DB_PREFIX . "product SET sku = concat(product_id,'_',product_id)");
 
Поскольку product_id уникален, то и sku будет уникальным.
 
Рандом лучше не использовать - чисто случайно возможно дублирование.

 

Спасибо, но надо ещё рандомное число, так как id может быть и 1 или 5  и как-то не логично его использовать.

Ссылка на комментарий
Поделиться на других сайтах


Тогда так

 

$this->db->query("UPDATE " . DB_PREFIX . "product SET sku = concat(product_id+1000,'_',product_id)");

Выдаёт ошибку 

#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 '$this->db->query("UPDATE " . DB_PREFIX . "product SET sku = concat(product_id+10' at line 1

Ссылка на комментарий
Поделиться на других сайтах


Если уж так хочется именно рандомное, то

$this->db->query("UPDATE " . DB_PREFIX . "product SET sku = concat(ROUND((RAND() * (9999 - 1000)) + 1000),'_',product_id)");
Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.