Maison base de données tutoriel mysql Établir une table d'enregistrement des variations de stock pour le système d'épicerie dans MySQL

Établir une table d'enregistrement des variations de stock pour le système d'épicerie dans MySQL

Nov 01, 2023 pm 12:09 PM
mysql Enregistrer en stock

Établir une table denregistrement des variations de stock pour le système dépicerie dans MySQL

Pour établir le tableau d'enregistrement des variations de stock du système d'épicerie dans MySQL, des exemples de code spécifiques sont nécessaires

1 Contexte

Avec le développement continu du commerce électronique, le comportement d'achat est passé du hors ligne au en ligne. De plus en plus de gens choisissent de faire leurs achats sur les plateformes de commerce électronique. Pour le système d’épicerie, l’inventaire est l’une des parties les plus importantes du système, et la gestion des stocks est également la partie la plus critique du système.

Afin de garantir que la gestion des stocks dans le système d'épicerie puisse être effectuée efficacement, les variations de stock doivent être enregistrées en temps opportun, afin que les problèmes de stock puissent être découverts en temps opportun afin qu'ils puissent être résolus de manière rapide. en temps opportun.

2. Établir une table d'enregistrement des variations de stock pour le système d'épicerie dans MySQL

Sur la base des problèmes ci-dessus, nous pouvons créer une table d'enregistrement des variations de stock dans MySQL pour enregistrer les informations sur les variations de stock dans le système d'épicerie. Voici un exemple de code de création de table spécifique :

CREATE TABLE inventory_change_record (
id bigint(20) NOT NULL AUTO_INCREMENT,
product_id bigint(20) COMMENTAIRE NON NULL 'identifiant du produit',<br> <code>change_amount int(11) COMMENTAIRE NON NULL 'montant de modification',
change_time datetime NOT NULL COMMENT 'Changer l'heure',
change_type tinyint(4) NOT NULL COMMENT 'Changer le type : 1. Entrant 2. Sortant',
opérateur varchar(255) NOT NULL COMMENT 'Change personnel',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='Table d'enregistrement des modifications d'inventaire' ; inventory_change_record (
id bigint(20) NOT NULL AUTO_INCREMENT,
product_id bigint(20) NOT NULL COMMENT '产品id',
change_amount int(11) NOT NULL COMMENT '变动数量',
change_time datetime NOT NULL COMMENT '变动时间',
change_type tinyint(4) NOT NULL COMMENT '变动类型:1、入库;2、出库',
operator varchar(255) NOT NULL COMMENT '变动人员',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='库存变动记录表';

以上建表代码中,我们定义了以下几个字段:

  • id:主键,自增长;
  • product_id:产品id,用于记录哪个产品的库存发生了变动;
  • change_amount:变动数量,用于记录该产品的库存变动数量;
  • change_time:变动时间,用于记录该库存变动的发生时间;
  • change_type:变动类型,用于区分是入库还是出库,1表示入库,2表示出库;
  • operator:变动人员,用于记录库存变动操作的执行人员。

三、买菜系统中使用MySQL的库存变动记录表

在买菜系统中,我们可以在以下几个地方使用库存变动记录表:

  1. 入库操作
    当有新的产品入库时,我们可以在执行入库操作时,向库存变动记录表中插入一条变动类型为1(入库)的记录。

以下是入库操作代码示例:

//插入库存变动记录
INSERT INTO inventory_change_record (product_id,change_amount,change_time,change_type,operator) VALUES (1,100,'2022-05-01 10:00:00',1,'张三');

  1. 出库操作
    当有产品出库时,我们可以在执行出库操作时,向库存变动记录表中插入一条变动类型为2(出库)的记录。

以下是出库操作代码示例:

//插入库存变动记录
INSERT INTO inventory_change_record (product_id,change_amount,change_time,change_type,operator) VALUES (1,50,'2022-05-01 14:00:00',2,'李四');

  1. 查询库存变动记录
    当需要查询某个产品的库存变动记录时,我们可以根据产品id进行查询,并按照时间倒序排列。

以下是查询库存变动记录代码示例:

//查询库存变动记录
SELECT * FROM inventory_change_record WHERE product_id = 1 ORDER BY change_time

Dans le code de construction du tableau ci-dessus, nous avons défini les champs suivants :

  • id : clé primaire, auto-croissante
  • product_id : identifiant du produit, utilisé pour enregistrer le produit dans lequel se trouve le produit ; stock Un changement s'est produit ;
  • change_amount : quantité de changement, utilisée pour enregistrer la quantité de changement de stock du produit
  • change_time : heure de changement, utilisée pour enregistrer l'heure à laquelle le changement de stock s'est produit ; s'est produit ;
  • li>
  • change_type : type de changement, utilisé pour distinguer s'il est entrant ou sortant, 1 signifie entrant, 2 signifie sortant
  • opérateur : changement de personnel, utilisé ; pour enregistrer l'exécution des opérations de changement de stock du personnel.
3. Utilisez la table d'enregistrement des variations d'inventaire de MySQL dans le système d'épicerie

Dans le système d'épicerie, nous pouvons utiliser la table d'enregistrement des variations d'inventaire aux endroits suivants :🎜
  1. Opération d'entreposage
    Lorsqu'un nouveau produit est mis en stock, nous pouvons insérer un enregistrement avec un type de modification de 1 (entrepôt) dans la table des enregistrements de variations de stock lors de l'exécution de l'opération d'entreposage.
🎜Ce qui suit est un exemple de code d'opération d'entreposage : 🎜🎜//Insérer un enregistrement de variation de stock
INSERT INTO inventory_change_record (product_id ,change_amount,change_time,change_type,operator) VALEURS (1 100,'2022-05-01 10:00 :00' ,1,'Zhang San');🎜
  1. Opération sortante
    Lorsqu'un produit est sortant, nous pouvons l'insérer dans la table d'enregistrement des variations de stock lors de l'exécution de l'opération sortante Un enregistrement avec le type de modification 2 (sortant).
🎜Voici un exemple de code d'opération de sortie de stock : 🎜🎜//Insérer un enregistrement de variation de stock
INSERT INTO inventory_change_record (product_id ,change_amount,change_time,change_type,operator) VALEURS (1,50,'2022-05-01 14 :00: 00',2,'李思');🎜
  1. Interroger les enregistrements de variation de stock
    Lorsque nous devons interroger les enregistrements de variation de stock d'un certain produit, nous pouvons interroger en fonction de l'identifiant du produit. Et classé par ordre chronologique inverse.
🎜Ce qui suit est un exemple de code pour interroger les enregistrements de variation de stock : 🎜🎜//Interroger les enregistrements de variation de stock
SELECT * FROM inventory_change_record WHERE product_id code> = 1 ORDER BY <code>change_time DESC;🎜🎜IV Résumé🎜🎜Ce qui précède est la méthode d'implémentation de la table d'enregistrement des variations de stock utilisant MySQL dans le système d'épicerie. En établissant un tableau d'enregistrement des variations de stock, nous pouvons gérer les stocks plus efficacement, découvrir et résoudre les problèmes de stock en temps opportun et assurer le fonctionnement normal du système. 🎜

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1535
276
Comment utiliser les contraintes de vérification pour appliquer les règles de données dans MySQL? Comment utiliser les contraintes de vérification pour appliquer les règles de données dans MySQL? Aug 06, 2025 pm 04:49 PM

MySQL prend en charge les contraintes de contrôle pour forcer l'intégrité du domaine, efficace à partir de la version 8.0.16; 1. Ajoutez des contraintes lors de la création d'un tableau: utilisez crééTable pour définir les conditions de contrôle, telles que l'âge ≥ 18, salaire> 0, valeurs limites du département; 2. Modifiez le tableau pour ajouter des contraintes: utilisez alterTableAddConstraint pour limiter les valeurs de champ, telles que le nom non vide; 3. Utiliser des conditions complexes: Prise en charge la logique et les expressions multi-colonnes, telles que la date de fin ≥ Date et l'état d'achèvement doivent avoir une date de fin; 4. Supprimer les contraintes: utilisez alterTabledRopConstraint pour spécifier le nom à supprimer; 5. Remarques: MySQL8.0.16, Innodb ou Myisam doit être cité

Meilleures pratiques pour gérer les grandes tables MySQL Meilleures pratiques pour gérer les grandes tables MySQL Aug 05, 2025 am 03:55 AM

Lorsque vous traitez avec de grandes tables, les performances MySQL et la maintenabilité sont confrontées à des défis, et il est nécessaire de commencer à partir de la conception structurelle, de l'optimisation des index, de la stratégie de sous-table de tableau, etc. 1. Concevoir raisonnablement les clés et les index primaires: il est recommandé d'utiliser des entiers auto-incrémentés comme clés principales pour réduire les scintillement de pages; Utiliser les index de superposition pour améliorer l'efficacité de la requête; Analyser régulièrement les journaux de requête lents et supprimer les index non valides. 2. Utilisation rationnelle des tables de partition: partition en fonction de la plage de temps et d'autres stratégies pour améliorer l'efficacité de la requête et de la maintenance, mais l'attention devrait être accordée aux problèmes de partitionnement et de coupe. 3. Envisagez de lire et d'écrire la séparation et la séparation des bibliothèques: la séparation de lecture et d'écriture atténue la pression sur la bibliothèque principale. La séparation de la bibliothèque et la séparation des tableaux conviennent aux scénarios avec une grande quantité de données. Il est recommandé d'utiliser des middleware et d'évaluer les problèmes de requête des transactions et des magasins croisés. La planification précoce et l'optimisation continue sont la clé.

Comment implémenter un système de balise dans une base de données MySQL? Comment implémenter un système de balise dans une base de données MySQL? Aug 05, 2025 am 05:41 AM

Useamany-to-gyrelateeshipswithajunctiontabletolinkitemsandtagsviathreetables: éléments, tags, anditem_tags.2.whenaddingtags, checkforexistingtagsinthetagstable, insertifnecessary, thencreatemappingsinitem_tagsusingtransactionsforcencence..

Comment dépanner les erreurs de connexion MySQL courantes? Comment dépanner les erreurs de connexion MySQL courantes? Aug 08, 2025 am 06:44 AM

Vérifiez si le service MySQL est en cours d'exécution, utilisez SudosystemctlStatusMysQL pour confirmer et démarrer; 2. Assurez-vous que Bind-Address est défini sur 0,0.0.0 pour permettre les connexions distantes et redémarrer le service; 3. Vérifiez si le port 3306 est ouvert, vérifiez et configurez les règles de pare-feu pour permettre le port; 4. Pour l'erreur "AccessEnedy", vous devez vérifier le nom d'utilisateur, le mot de passe et le nom d'hôte, puis vous connecter à MySQL et interroger la table MySQL.User pour confirmer les autorisations. Si nécessaire, créez ou mettez à jour l'utilisateur et autorisez-le, comme l'utilisation de «votre_user» @ «%»; 5. Si l'authentification est perdue à cause de Caching_Sha2_Password

Implémentation du suivi de la lignée des données MySQL Implémentation du suivi de la lignée des données MySQL Aug 02, 2025 pm 12:37 PM

Les méthodes de base pour réaliser le suivi des liens sanguins de données MySQL incluent: 1. Utilisez le binlog pour enregistrer la source de changement de données, activer et analyser le binlog et tracer des actions commerciales spécifiques en combinaison avec le contexte de la couche d'application; 2. Injecter les liens de sang dans le processus ETL et enregistrer la relation de mappage entre la source et la cible lors de la synchronisation de l'outil; 3. Ajouter des commentaires et des balises de métadonnées aux données, expliquez la source de champ lors de la construction du tableau et connectez-vous au système de gestion des métadonnées pour former une carte visuelle; 4. Faites attention à la cohérence de la clé primaire, évitez une dépendance excessive à l'égard de l'analyse SQL, des changements de modèle de données de contrôle de version et vérifiez régulièrement les données de liens sanguins pour assurer le suivi précis et fiable des liens de sang.

Quelle est la différence entre tronquer, supprimer et tomber dans MySQL? Quelle est la différence entre tronquer, supprimer et tomber dans MySQL? Aug 05, 2025 am 09:39 AM

DeleterMovesspecificorAllRows, KeepSableStructure, permet de faire des effectifs et de surgurer de manière

Comment mettre à niveau un serveur MySQL vers une version plus récente? Comment mettre à niveau un serveur MySQL vers une version plus récente? Aug 03, 2025 am 09:04 AM

CheckCompatibilitéwithos, Applications et Features; 2.BackupallData, Configs, andlogs; 3.ChooseupgradeMethod (PackageManager, MySQLinstaller, Ormanual); 4.Runpost-upgradeCkEckSandtests; 5.ResolvessueslikEuthenticationpluginsordepreatedOptions.

Comment afficher toutes les bases de données dans MySQL Comment afficher toutes les bases de données dans MySQL Aug 08, 2025 am 09:50 AM

Pour afficher toutes les bases de données dans MySQL, vous devez utiliser la commande showDatabases; 1. Après être connecté au serveur MySQL, vous pouvez exécuter les showDatabases; Commande pour répertorier toutes les bases de données auxquelles l'utilisateur actuel a la permission d'accéder; 2. 3. Vous pouvez également interroger et filtrer la base de données via selectSchema_namefrominformation_schema.schemata; Par exemple, l'exclusion de la base de données système pour afficher uniquement la base de données créée par les utilisateurs; Assurez-vous d'utiliser

See all articles