Man tabulai ir jāpievieno vairākas kolonnas, bet kolonnas jānovieto pēc kolonnas ar nosaukumu vārds
.
Esmu mēģinājis šādi:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Es saņemu šo kļūdu:
Jums ir kļūda SQL sintaksē; pārbaudiet rokasgrāmatu, kas atbilst jūsu MySQL servera versijai, lai atrastu pareizo sintaksi, kas jāizmanto pie ') AFTER
lastname
' 7. rindā
Kā es varu izmantot AFTER šādā vaicājumā?
Izmēģiniet šo
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`;
pārbaudīt sintakse
Ja pēc konkrēta lauka vēlaties pievienot vienu kolonnu, jāizmanto šāds MySQL vaicājums:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
Ja vēlaties pievienot vairākus stabiņus, tad jums katru reizi jāizmanto 'ADD' komanda katram stabiņam. Šeit ir šāds MySQL vaicājums:
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
Otrajā metodē pēdējam ADD COLUMN
kolonnai patiesībā jābūt pirmajai kolonnai, ko vēlaties pievienot tabulai.
Piemēram: ja vēlaties pievienot count
, log
, status
precīzā secībā aiz lastname
, tad sintakse patiesībā būtu šāda:
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 no iespējām būtu neraizēties par tabulu kolonnu pārkārtošanu un vienkārši modificēt tabulu, pievienojot kolonnas. Pēc tam izveidojiet skatījumu, kurā kolonnas ir vajadzīgajā secībā - pieņemot, ka secība patiešām ir svarīga. Šo skatījumu var viegli mainīt, lai atspoguļotu jebkuru vēlamo secību. Tā kā es nevaru iedomāties, ka secība būtu svarīga programmatiskām lietojumprogrammām, ar šo skatījumu vajadzētu pietikt tiem manuālajiem pieprasījumiem, kur tā varētu būt svarīga.