SQL : Initialisation des champs ajoutés par un ALTER TABLE - SQL/NoSQL - Programmation
Marsh Posté le 09-01-2004 à 10:34:15
http://sqlzoo.napier.ac.uk/big/B10 [...] ts_32a.htm
tout se joue avec la clause DEFAULT de la colone.
edit : et ça répond à la deuxième question que j'avais zapé en plus
Marsh Posté le 09-01-2004 à 11:13:21
Merci beaucoup.
Bon, par contre sous SQL Serveur le default semble n'avoir aucun effet :
|
Crée bien le champ "bidon", mais l'initialise à <NULL>, comme si la clause DEFAULT n'était pas là.
Et puis de toute façon My SQL ne supporte pas ce "DEFAULT" est nécessite "INIT=" à la place.
ça me saoule, salté de SQL, demi-standard à 2 balles.
Heu... merci quand même au fait.
Marsh Posté le 09-01-2004 à 11:17:13
tu altères en "not null default = bidule" puis tu vires ces conneries par une deuxième altération après ?
Marsh Posté le 09-01-2004 à 11:28:03
La clause "NOT NULL", ça permet de faire fonctionner la requète avec SQL Server. J'ai pas compris pourquoi tu parles de 2 alitération !?
De toute façon il faut que je reste compatible My SQL, et LUI ne connait même pas DEFAULT.
Je vais devoir enchainer ALTER et un bête UPDATE
Marsh Posté le 09-01-2004 à 11:32:35
ben si tu voulais pas du "défault" et du "not null" sur ta colone de façon durable tu les mets pour la bidouille puis tu les supprimes ensuite.
Quand à MySQL, tout le monde sait ce que j'en pense ici. Et ton problème est une des raisons qui me font penser ce que j'en pense.
Marsh Posté le 09-01-2004 à 11:52:37
nraynaud a écrit : ben si tu voulais pas du "défault" et du "not null" sur ta colone de façon durable tu les mets pour la bidouille puis tu les supprimes ensuite. |
Ok, j'ai compris ce que tu voulais dire.
Et, MySQL, je pense que je pense ce que t'en penses.
Marsh Posté le 09-01-2004 à 10:26:20
J'ai lu quelque part qu'on put écrire ceci :
ALTER TABLE matable [ADD macolone type [INIT=valeur d'init]]
C'est standard ça ?
Et comment rédiger une initialisation directe quand on fait un ajoute simultané de 2 champs. Genre la requète suivante :
ALTER TABLE matable ADD monchamp1 int, monchamp2 int
La 2e question est pas essentielle, c'est juste au passage.
Merci.
---------------
Les Vers Solitaires, on aime ... ou pas !