Comment créer une table avec dynamic non. de colonnes pour la saisie de données

Je travaille actuellement sur un projet où j'ai besoin de sauvegarder des données en fonction du numéro actif. des articles.

C'est comme..

Les magasins peuvent ne pas avoir d'éléments qui peuvent être ajoutés dynamicment ou réduits à partir du backend d'administration. Chaque élément peut être activé ou désactivé. Aucun problème.

Mais j'ai besoin de gérer / save ces n dynamics. d'éléments dans une table pour chaque magasin. Je ne suis pas capable de décider du schéma de la table.

Toute aide sera grandement appréciée.

Je suggère une relation standard plusieurs-à-plusieurs en utilisant une table du milieu. Donc vous utiliseriez 3 tables:

  • StoresTable: la list des magasins
  • ItemsTable: la list des éléments
  • StoreItemsTable: une list d'éléments dans les magasins, chaque ligne aura une key étrangère à la fois la table des magasins et la table des éléments

J'espère que cela pourra aider.

Votre problème n'est pas si difficile si vous utilisez une approche différente.

Un magasin peut avoir un certain nombre d'éléments. Donc, en gros, la boutique de Susi a 1 article, mais soudain elle en veut 2, et vous aimeriez append une colonne. C'est très difficile si elle veut soudainement append 2000 objects.

La meilleure approche serait d'utiliser une table de magasin (qui a le nom du magasin, la date à laquelle il a été créé et une key primaire) et une table d'éléments. Vous pouvez ensuite append des éléments en tant qu'inputs à la table et les lier au magasin via la key primaire des magasins.

Un exemple:

Store table: PK Name Owner 1 Sunshine Store Susi 2 Moonstore Harald Item table: PK Name Store_id Price 1 Candle 1 2.44 2 Table 1 51.44 3 Chair 2 6.55 

Cela vous permet d'append autant d'articles à n'importe quel magasin que vous voulez. Le Store_id est appelé une key étrangère dans cet exemple, car il lie les éléments au magasin. Vous pouvez ensuite utiliser les commands SQL pour sélectionner les éléments, par exemple

  "Select * from ITEMS where Store_id = 1;" 

et get tous les articles de Susi comme réponse.

Bonne chance!

Je pense que vous utilisez une colonne active et utilisez ce bit actif à toutes fins, car c'est très bon pour l'avenir dans d'autres transactions aussi.