SORU
3 AĞUSTOS 2010, Salı


MySQL, bir sütun olmadığını Kontrol SQL ile bir tablo var

Eğer MySQL belirli bir tabloda belirli bir sütun olup olmadığını kontrol edecek bir sorgu yazmaya çalışıyorum, ve eğer değilse — oluşturun ediyorum. Aksi takdirde hiçbir şey yapma. Bu gerçekten kurumsal sınıf veritabanı herhangi bir kolay bir işlemdir, henüz MySQL bir istisna gibi görünüyor.

Gibi bir şey sanıyordum

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
           WHERE TABLE_NAME='prefix_topic' AND column_name='topic_last_update') 
BEGIN 
ALTER TABLE `prefix_topic` ADD `topic_last_update` DATETIME NOT NULL;
UPDATE `prefix_topic` SET `topic_last_update` = `topic_date_add`;
END;

işe yarar, ama kötü bir şekilde başarısız olur. Bir yolu var mı?

CEVAP
10 Mayıs 2011, Salı


@julio

SQL örnek için teşekkürler. Sorguyu denedim ve doğru çalışmasını sağlamak için küçük bir değişiklik ihtiyacı olduğunu düşünüyorum.

SELECT * 
FROM information_schema.COLUMNS 
WHERE 
    TABLE_SCHEMA = 'db_name' 
AND TABLE_NAME = 'table_name' 
AND COLUMN_NAME = 'column_name'

Bu benim için çalıştı.

Teşekkürler!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009
  • Randall P Studios

    Randall P St

    27 AĞUSTOS 2009