2013-11-22 20 views
74

Şaka yapıyorum, bunu nasıl yapacağımı bilmiyorum.Tabloda altlık tablosu varsa, o zaman yaratın, eğer mevcut değilse, sadece yaratın

Temel olarak sadece bir tablo oluşturmak istiyorum, ancak eğer varsa, düşürülmeli ve yeniden oluşturulmalı, kesilmeli, ancak eğer mevcut değilse, sadece oluşturulmalıdır.

Herhangi biri yardımcı olabilir mi?

sayesinde George

+0

@Shomz, İstedikleri şey buydu. Yine de bu sorunun varlığı ve bu görüşe ilişkin 20 bin görüşün, İngilizceyi Yunancayı dönüştürmek kadar kolay olduğunu kanıtlıyor. – Pacerier

+2

@Pacerier Daha fazlasına katmadım: 'διαγραφή πίνακα, εφόσον υπάρχει'. – Shomz

+0

@Shomz, Bir dilbilgisi hatası var. – Pacerier

cevap

174

CREATE TABLE ifadeden hemen önce DROP TABLE IF EXISTS `tablename`; numaralı telefonu gönderin.

Bu ifade, varsa tabloyu bırakır ancak yoksa bir hata atmaz.

+0

Teşekkürler! Bu ayrıca tablo veya görünümlerin bir listesi için de geçerlidir! 'DAHA FAZLASI TABLOSU 'table1', 'table2';' ve 'DAHA FAZLALARDAN GÖRÜNÜM 'view1', 'view2';' PS- Satır içi kodda sahip olmak için ne cadılık kullandınız !? – Campbeln

+1

@Campbeln Kod parçasından önce ve sonra yedeklemeleri ikiye katlayın. Tek backtick daha sonra gösterilmektedir. –

26

Sadece DROP TABLE IF EXISTS kullanın:

DROP TABLE IF EXISTS `foo`; 
CREATE TABLE `foo` (...); 

başka bir sorunla varsa MySQL documentation ilk aramayı deneyin.

İlgili konular