Задавайте вопросы, мы ответим
Вы не зашли.
такая задача: есть несколько типов продуктов (проц. платы, контроллеры, блоки питания), для каждого своя таблица. Можно ли сделать так, чтобы при вбивании новых позиций каждому продукту присваивался свой персональные ID? Не в рамках одной таблицы, а в рамках всей базы.
Или нужно делать отдельную таблицу, связывающую ID и сам продукт и его тип?
Отредактированно Irbis (10.11.2007 16:07:29)
Неактивен
А почему бы не сделать одну таблицу для всех продуктов, в которой будут хранится id и номер типа, и еще одну - для типов продуктов? Например, так:
CREATE TABLE products (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
typeid INT,
-- здесь еще какие-нибудь поля, если нужны
KEY (typeid)
);
CREATE TABLE types (
id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
type VARCHAR(255) NOT NULL DEFAULT ''
);
Кроме того, возможно, было бы удобно связать столбецы products.typeid и types.id внешним ключом (что-нибудь типа ON UPDATE CASCADE ON DELETE SET NULL).
В таком случае при создании таблиц не забудьте указать ENGINE = InnoDB
Неактивен
Спасибо за совет, но одну таблицу на всех не получилоась бы.. для отдних только процессорных плат с несколько дестяков полей.
Сделали проще - создали классификатор, котороый забивается вручную и определяет тип, и вместе с локальным id, который в таблице, дает полный id товара.
Неактивен