2017-07-14 7 views
0

J'ai une erreur de syntaxe lors de l'ajout d'une nouvelle colonne à une table. Chaque autre colonne est ajouté correcte à part ceci:Erreur de syntaxe mysql lors de la modification de la table

ALTER TABLE stock.stock_data ADD LEGAL_&_GENERAL VARCHAR(40); 

Merci pour votre aide.

+2

Retirez le' & '. Utilisez 'and'. –

+1

N'utilisez pas '&' dans votre nom de table –

Répondre

2

MySQL (as with all databases) limits the characters in unquoted identifiers:

caractères autorisés dans les identifiants sans guillemets:

ASCII: [0-9, az, AZ $ _] (lettres latines de base, chiffres 0-9, dollar, underscore)

Extended: U + 0080 .. U + FFFF

Notez que "&" est pas un d'entre eux. La meilleure façon de résoudre ce problème est d'utiliser des caractères « normaux »:

ALTER TABLE stock.stock_data ADD LEGAL_AND_GENERAL VARCHAR(40); 

Si vous voulez vraiment, vous pouvez citer l'identifiant:

ALTER TABLE stock.stock_data ADD `LEGAL_&_GENERAL` VARCHAR(40); 

Cependant, vous devrez citer le nom où vous utilisez la colonne, juste encombrer vos requêtes et l'usure de la touche back-tick.