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

  • KarnasCamillo

    KarnasCamill

    24 EKİM 2007
  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010
  • ThePointblank

    ThePointblan

    18 Aralık 2006