Į lentelę reikia įtraukti kelis stulpelius, bet juos išdėstyti po stulpelio, vadinamo pavardė
.
Bandžiau tai padaryti:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Gavau šią klaidą:
Jūsų SQL sintaksėje yra klaida; patikrinkite vadovą, kad atitinka jūsų "MySQL" serverio versiją, kad sužinotumėte, kokią sintaksę reikia naudoti šalia ') PO
pavardis
' 7 eilutėje
Kaip naudoti AFTER tokioje užklausoje?
Pabandykite tai
ALTER TABLE users
ADD COLUMN `count` SMALLINT(6) NOT NULL AFTER `lastname`,
ADD COLUMN `log` VARCHAR(12) NOT NULL AFTER `count`,
ADD COLUMN `status` INT(10) UNSIGNED NOT NULL AFTER `log`;
patikrinkite sintaksę
Jei po konkretaus lauko norite pridėti vieną stulpelį, turėtų veikti ši "MySQL" užklausa:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
Jei norite pridėti kelis stulpelius, tuomet kiekvieną kartą stulpeliui reikia naudoti komandą 'ADD'. Štai tokia MySQL užklausa:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL,
ADD COLUMN log VARCHAR(12) NOT NULL,
ADD COLUMN status INT(10) UNSIGNED NOT NULL
AFTER lastname
Antrajame metode paskutinis ADD COLUMN
stulpelis iš tikrųjų turėtų būti pirmasis stulpelis, kurį norite pridėti prie lentelės.
Pvz.: jei norite pridėti count
, log
, status
tikslia tvarka po lastname
, sintaksė iš tikrųjų būtų tokia:
ALTER TABLE users
ADD COLUMN log VARCHAR(12) NOT NULL AFTER lastname,
ADD COLUMN status INT(10) UNSIGNED NOT NULL AFTER lastname,
ADD COLUMN count SMALLINT(6) NOT NULL AFTER lastname
Viena iš galimybių būtų nesirūpinti lentelės stulpelių eiliškumo keitimu ir tiesiog ją modifikuoti pridedant stulpelius. Tada sukurkite rodinį, kuriame stulpeliai būtų išdėstyti norima tvarka, jei ta tvarka tikrai svarbi. Vaizdą galima lengvai pakeisti, kad jis atspindėtų bet kokią norimą tvarką. Kadangi neįsivaizduoju, kad tvarka būtų svarbi programinėms programoms, rodinio turėtų pakakti toms rankinėms užklausoms, kuriose ji gali būti svarbi.