Maison >base de données >tutoriel mysql >Comment puis-je renommer un champ de table MySQL pour inclure un trait d'union ?
L'inclusion de tirets directement dans les noms de champs de table MySQL n'est pas autorisée. En effet, MySQL utilise la notation par points pour faire référence aux colonnes du tableau et les traits d'union ne sont pas autorisés dans la notation par points.
Cependant, il existe deux manières de contourner cette limitation :
Vous pouvez utiliser des délimiteurs tels que des guillemets (`) ou des guillemets doubles (") pour entourer les noms de champs contenant des caractères spéciaux. Par exemple :
<code class="language-sql">ALTER TABLE my_table CHANGE COLUMN `product` `ds-product` VARCHAR(255);</code>
Dans cet exemple, le nom du champ ds-product
est entouré de guillemets, lui permettant de contenir des traits d'union.
Une autre option consiste à activer le mode SQL ANSI_QUOTES, qui permet l'utilisation de guillemets doubles comme délimiteurs pour les identifiants. Lorsque ce mode est activé, les champs peuvent être renommés en utilisant la syntaxe suivante :
<code class="language-sql">SET SQL_MODE = ANSI_QUOTES; ALTER TABLE my_table CHANGE COLUMN "product" "ds-product" VARCHAR(255);</code>
Notez que vous devez définir le mode ANSI_QUOTES avant de renommer les champs.
Après avoir utilisé l'une des méthodes ci-dessus, vous pouvez renommer le champ et l'utiliser dans les requêtes sans rencontrer d'erreurs de « colonne inconnue ».
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!