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

  • Howard Pinsky

    Howard Pinsk

    6 AĞUSTOS 2006
  • K-391

    K-391

    23 EKİM 2012
  • Shanice Caruthers

    Shanice Caru

    27 EKİM 2011