MySQL'de belirli bir sütundan SONRA birden fazla sütun ekleme

Bir tabloya birden fazla sütun eklemem gerekiyor, ancak sütunları soyadı adlı bir sütundan sonra konumlandırmam gerekiyor.

Bunu denedim:

ALTER TABLE `users` ADD COLUMN
(
    `count` smallint(6) NOT NULL,
    `log` varchar(12) NOT NULL,
    `status` int(10) unsigned NOT NULL
) 
AFTER `lastname`;

Bu hatayı alıyorum:

SQL sözdiziminizde bir hata var; şu kılavuzu kontrol edin kullanılacak doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelir yakın ') 7. satırdaki soyadı' ifadesinden sonra


Böyle bir sorguda AFTER'ı nasıl kullanabilirim?

Çözüm

Bunu dene.

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`;

sözdizimi]1'i kontrol edin

Yorumlar (2)

Belirli bir alandan sonra tek bir sütun eklemek istiyorsanız, aşağıdaki MySQL sorgusu çalışmalıdır:

ALTER TABLE users
    ADD COLUMN count SMALLINT(6) NOT NULL
    AFTER lastname

Birden fazla sütun eklemek istiyorsanız, bir sütun için her seferinde 'ADD' komutunu kullanmanız gerekir. İşte bunun için MySQL sorgusu:

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

Not edilecek nokta

İkinci yöntemde, son ADD COLUMN column aslında tabloya eklemek istediğiniz ilk sütun olmalıdır.

Örneğin: soyadından sonra tam sırayla sayı, günlük, durum eklemek istiyorsanız, sözdizimi aslında şöyle olacaktır:

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
Yorumlar (5)

Bir olasılık, tablodaki sütunları yeniden sıralamakla uğraşmamak ve sadece sütunları ekleyerek değiştirmek olabilir. Ardından, sütunları istediğiniz sırada içeren bir görünüm oluşturun -- sıranın gerçekten önemli olduğunu varsayarak. Görünüm, istediğiniz herhangi bir sıralamayı yansıtacak şekilde kolayca değiştirilebilir. Sıralamanın programatik uygulamalar için önemli olacağını düşünmediğimden, görünüm, önemli olabileceği manuel sorgular için yeterli olacaktır.

Yorumlar (1)