Comment concevoir la structure de la table de collecte des utilisateurs du centre commercial dans MySQL ?
Lors de la conception d'une base de données de centre commercial, la collecte des utilisateurs est l'une des fonctions importantes. Les utilisateurs peuvent ajouter les produits qui les intéressent à leurs favoris pour les visualiser facilement ou les acheter plus tard. Cet article explique comment concevoir la structure de la table de collecte d'utilisateurs du centre commercial dans MySQL et fournit des exemples de code spécifiques.
1. Analyse des exigences
Avant de concevoir la structure de la table, nous devons d'abord analyser les besoins des collections d'utilisateurs. Plus précisément, nous devons considérer les aspects suivants :
2. Conception de la structure de la table
Sur la base des exigences ci-dessus, nous pouvons concevoir la structure de table préférée de l'utilisateur suivante :
CREATE TABLE user_favorite
(user_favorite
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
user_id
int(11) NOT NULL COMMENT '用户ID',
product_id
int(11) NOT NULL COMMENT '商品ID',
add_time
datetime NOT NULL COMMENT '添加时间',
status
tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1表示有效,0表示无效',
PRIMARY KEY (id
),
KEY user_id
(user_id
),
KEY product_id
(product_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏表';
解释一下各个字段的含义:
三、代码示例
CREATE TABLE user_favorite
(
id
int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
user_id
int(11) NOT NULL COMMENT '用户ID',
product_id
int(11) NOT NULL COMMENT '商品ID',
add_time
datetime NOT NULL COMMENT '添加时间',
status
tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态,1表示有效,0表示无效',
PRIMARY KEY (id
),
KEY user_id
(user_id
),
KEY product_id
(product_id
)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏表';
INSERT INTO user_favorite
(user_id
, product_id
, add_time
)
VALUES (1, 1001, '2022-01-01 10:00:00');
SELECT product_id
, add_time
FROM user_favorite
WHERE user_id
= 1 AND status
= 1;
UPDATE user_favorite
SET status
= 0
WHERE user_id
= 1 AND product_id
id
int(11 ) NOT NULL AUTO_INCREMENT COMMENT 'ID de clé primaire',
user_id
int(11) NOT NULL COMMENT 'user ID', product_id
int(11) NOT NULL COMMENT 'product ID' ,
add_time
datetime NOT NULL COMMENT 'Add time', status
tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Statut, 1 signifie valide, 0 signifie invalide' ,
CLÉ PRIMAIRE (id
),
user_id
(user_id
), CLÉ product_id
( product_id)
user_favorite
(🎜 id
int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID de clé primaire ' ,🎜 user_id
int(11) NON NULL COMMENT 'ID utilisateur',🎜 product_id
int(11) NON NULL COMMENT 'ID produit',🎜 add_time datetime NON NULL COMMENTAIRE 'Ajouter l'heure',🎜 <code>status
tinyint(1) NON NULL PAR DÉFAUT '1' COMMENTAIRE 'Statut, 1 signifie valide, 0 signifie invalide',🎜 CLÉ PRIMAIRE ( id
),🎜 CLÉ user_id
(user_id
),🎜 CLÉ product_id
(product_id
)🎜 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='User Favorite Table';🎜user_favorite
( user_id
, product_id
, add_time
) 🎜VALUES (1, 1001, '2022-01-01 10:00:00');🎜product_id
, add_time
FROM user_favorite
🎜WHERE user_id code > = 1 AND <code>status
= 1;🎜user_favorite
SET status = 0 🎜WHERE <code>user_id
= 1 AND product_id
= 1001;🎜🎜L'exemple de code ci-dessus montre comment créer une table de collection d'utilisateurs, ajouter des enregistrements de collection et interroger les enregistrements de collection de l'utilisateur et annuler les favoris d'un produit. 🎜🎜Résumé : 🎜Lors de la conception de la structure de la table de collecte des utilisateurs, vous devez prendre en compte des champs tels que l'ID utilisateur, l'ID produit, l'ajout de l'heure et du statut. En concevant correctement la structure des tables et en utilisant des index, l'efficacité des requêtes de la base de données peut être améliorée. Dans le même temps, en utilisation réelle, la table peut être optimisée et étendue en fonction des besoins de l'entreprise. 🎜🎜Remarque : l'exemple de code ci-dessus est uniquement à titre de référence et l'implémentation spécifique doit être ajustée en fonction de la situation réelle. 🎜
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!