Récemment
-
Calcul règle panier
Bugs & Améliorations1 -
Erreur SQL 1.6.2.23 -> 1.6.2.25
Questions relatives à l'installation/upgrade1 -
Configuration de wamp compatible presta.1.6.1.24 et PhenixSuite 1.6.2.25
Discussion générale2 -
Images sur les BL ne s'affichent pas
Bugs & Améliorations13 -
SQL [WARNING] MAJ 1.6.2.19 vers 1.6.2.25
Questions relatives à l'installation/upgrade3 -
MAJ .htaccess Apache 2.4 et 2.2
Nouvelles fonctionnalités4 -
Erreur - Le template d'e-mail suivant n'existe pas : /mails/fr/password_code.html [RÉSOLU]
Bugs & Améliorations3 -
Soucis ps_checkout (admin et front)
Bugs & Améliorations9 -
Erreur module block_cart en php8.2 mais pas en php7.4
Bugs & Améliorations7 -
Problème calcul HT
Bugs & Améliorations16 -
Erreur SQL sur le Liens Modules et Service après upgrade a 1.6.2.25
Questions relatives à l'installation/upgrade3 -
Erreur SQL sur la requête The used table type doesn't support FULLTEXT indexes
Questions relatives à l'installation/upgrade3 -
Maj de 1.6.1.20 rien ne se passe
Questions relatives à l'installation/upgrade2 -
information mise en cache désactivée sur param 1-click-upgrade
Questions relatives à l'installation/upgrade3 -
Erreur SQL syntax at line 14
Questions relatives à l'installation/upgrade5 -
paramétrage des colonnes d'une commande en BO
PhenixSuite4 -
Meilleure config Système pour une installation fraiche en 2024?
Questions relatives à l'installation/upgrade3 -
Erreurs VS code Monetico (pour info )
PhenixSuite7 -
Search.php
PhenixSuite2 -
Error logs (null object)
Bugs & Améliorations37
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.