Récemment
-
Des modules et des hacks - liste non exhaustive des modules présentant un risque
Discussion générale17 -
Thème enfant
PhenixSuite16 -
SumUp Payments Constant Update Request
Modules2 -
PaypalAPI erreur
PhenixSuite53 -
Problèmes de prix avec plusieurs devises et PayPal
PhenixSuite6 -
Solutions de paiement...
Discussion générale5 -
Petit code pour les descriptions de produits
Discussion générale3 -
Feuilles de styles non chargées si smart cache activé [RÉSOLU]
PhenixSuite5 -
PayPal Module Error
Bugs & Améliorations2 -
Transient Bug after 1.6.2.31 Upgrade
Bugs & Améliorations2 -
blockcategory et left_column
BUG connus1 -
[REGLÉ] override - je n'y arrive pas.
Modules10 -
les routes sur mesures
Discussion générale6 -
Nouvelle attaque ?
Discussion générale11 -
Problème calcul HT
Bugs & Améliorations42 -
Erreur sur facture générée depuis le FO
PhenixSuite3 -
Factures ne se génèrent plus depuis 06/12 [RÉSOLU]
Bugs & Améliorations20 -
Edition en masse des déclinaisons
Nouvelles fonctionnalités4 -
Mise à niveau de Prestashop 1.6.24 vers PhenixSuite 1.6.30
Discussion générale2 -
Thème possible
Questions relatives à l'installation/upgrade2
SQL : Alter table Add if not exist
-
Bonjour,
Je sais que cette notion n'existe pas ...
Mais malgré avoir lu et cherché, je bloque j'ai toujours une erreur dans mes tests.
J'avoue ne pas comprendre ce qui cloche ou ce que je loupe, je continue de chercher mais au cas ou, si quelqu'un à une piste
Info :
Version du serveur : 5.5.55-0ubuntu0.14.04.1 - (Ubuntu)
Merci
-
Je n'ai pas réussi avec une seule ligne SQL
J'ai donc utilisé ça :
$sql = "SHOW COLUMNS FROM ps_vip LIKE 'recall'"; $res = Db::getInstance()->executeS($sql); if (!isset($res[0]['Field'])) { $add = "ALTER TABLE `ps_vip` ADD `recall` int(1) NOT NULL default '0';"; if (!Db::getInstance()->Execute($add)) { $success = false; } }``` Il doit sûrement exister un meilleure façon mais je ne l'ai pas trouvé.
-
Non il n'existe pas d'autre méthode car il n'est pas possible de faire un alter dans une jointure mais...
Tu peux ADD ta colonne et intercepter l'erreur qui se produira si elle existe déjà
et il me semble que mariadb admet la syntaxe if not exists
https://mariadb.com/kb/en/library/alter-table/ à partir de la 10.0.2
-
Merci pour la réponse
Ca me rassure car je bloquais complètement.