J'utilise MySQL. Comment puis-je exécuter un INSERT dans une table basée sur la validation des données associées? Pardonnez l'exemple artificiel.conditionnelle SQL INSERT
Si mes tableaux sont:
> SELECT * FROM colors;
id color owner
-- ------ -----
10 red 2
11 banana 6
12 blue 9
et
> SELECT * FROM fruit;
id color_id name
-- -------- -------
59 10 cherry
60 12 blueberry
Où fruit.color est une clé étrangère à colors.id
Je veux insérer plus sur une banane, mais que si le propriétaire de la couleur est 6. Voici les premières INSERT:
INSERT INTO
fruit
(color_id, name)
VALUES
(11, 'banana');
Je voudrais faire quelque chose comme:
INSERT INTO
fruit
(color_id, name)
VALUES
(11, 'banana')
-- ??? I have no idea what to put here ???
ONLY IF (
(SELECT COUNT(*) FROM fruit
INNER JOIN colors ON fruit.color_id = colors.id
AND colors.id = 11
WHERE colors.owners = 6) >= 1
)
Cette dernière clause est évidemment pas vrai, mais je ne sais pas quoi faire là-bas. L'idée est que les valeurs INSERT si la colonne owner
du color_id
J'essaie d'insérer est égale à la valeur que je fournis.
Aide?
Ceci est une excellente réponse. Je wan't conscient que INSERT INTO ... SELECT ... peut être utilisé de cette façon. Merci! –