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

  • Dive In

    Dive In

    17 Temmuz 2013
  • Kupa World

    Kupa World

    1 EYLÜL 2011
  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014