Vreau să adaug mai multe coloane într-un tabel, dar toate să fie după (AFTER) coloana lastname
.
Am încercat așa:
ALTER TABLE `users` ADD COLUMN
(
`count` smallint(6) NOT NULL,
`log` varchar(12) NOT NULL,
`status` int(10) unsigned NOT NULL
)
AFTER `lastname`;
Dar primesc această eroare:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ") AFTER lastname" at line 7
Cum pot să folosesc operatorul AFTER
în așa o interogare?
Dacă doriți să adăugați o singură coloană, folosiți următoarea interogarea MySQL:
ALTER TABLE users
ADD COLUMN count SMALLINT(6) NOT NULL
AFTER lastname
Dacă doriți să adugați mai multe coloane, aveți nevoie de comanda ADD pentru fiecare coloană. Interogarea MySQL:
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
În cea de-a doua metodă, ultimul ADD COLUMN
coloana ar trebui să fie prima coloană pe care doriți să o adugați la tabel.
Exemplu: dacă doriți să adăugați coloana conte
, log
, status
în această ordine după coloana lastname
, sintaxa ar fi cam așa:
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
Nu poți folosi o comandă ADD COLUMN
pentru mai multe coloane. Ai nevoie de câte un operator ADD COLUMN
pentru fiecare coloană care vrei să o adaugi.
ALTER TABLE `users` ADD COLUMN
`COLUMN NAME` DATATYPE(SIZE) AFTER `EXISTING COLUMN NAME`;
Încearcă așa. Acest cod funcționează bine la mine.
Această interogare merge bine la mine:
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';