2011-08-16 11 views

cevap

39
INSERT INTO my_table VALUES() 
+1

Bu aslında MySQL için doğru cevaptır. –

+1

Ayrıca mariadb ile çalışma - 10.0.31-MariaDB – MarcoZen

9

SQL Server'da buna benzer.

insert into TableName default values 
+1

+1 Hehe beni 2 saniyede yendi :) Şakalar aynı zamanda Sqlite ile çalıştığı için – Andomar

+1

+1. – ceving

+0

Bu, MySQL ile benim için çalışmadı - ve soru MySQL hakkındaydı (bkz. Etiketler). Ya da yanlış bir şey mi yaptım ve bu sözdizimi genellikle MySQL'de çalışıyor mu? –

1

Sen default values kullanabilirsiniz: Alternatif

INSERT INTO `table`() VALUES(); 

:

insert YourTable default values 
5

uygun yolu boş değerler listesi sağlamak ve alanlar örtük varsayılan değerlerini yapmasına izin vermek DEFAULT anahtar sözcüğünü kullanabilirsiniz:

INSERT INTO `table` (`Col1`, `Col2`, ...) VALUES(DEFAULT, DEFAULT, ...); 

Ya da sadece (tüm sütunlar için değer veriyoruz varsayılarak):


INSERT INTO `table` VALUES(DEFAULT, DEFAULT, ...); 
gerekli bilgiler the documentation for INSERT bulunabilir Tümü:

Eğer INSERT ... VALUES veya INSERT ... SELECT için sütun adlarının bir listesini belirtmeyin, tablodaki her sütun için değerlerolmalıdır VALUE listesi veya SELECT ifadesi tarafından sağlanan. tablosunda sütunların sırasını bilmiyorsanız, DESCRIBE tbl_name değerini bul seçeneğini kullanın.

[..]

Eğer sıkı bir SQL modunda çalışan değilseniz, açıkça verilen değeri varsayılan (açık veya örtülü) değerinin ayarlandığında değil herhangi bir sütun. için, tablodaki tüm sütunlarını belirtmeyen bir sütun listesi belirtirseniz, adsız sütunlar varsayılan değerlerine ayarlanır. Varsayılan değer ataması, Bölüm 10.1.4, “Veri Tipi Varsayılan Değerler” bölümünde açıklanmıştır. Ayrıca bkz. Bölüm 1.8.6.2, “Geçersiz Verisindeki Kısıtlamalar”.

[..]

kullanın anahtar kelime DEFAULT varsayılan değere açıkça bir sütun ayarlamak için. Bu için tablodaki her sütun bir değer içermez tamamlanmamış DEĞERLER listesi hazırlamak önlemek sağlar çünkü daha kolay, herkese değerleri ancak birkaç sütun atamak INSERT ifadeleri yazmayı kolaylaştırır. Aksi takdirde, VALUES listesindeki her bir değere karşılık gelen sütun isimleri listesini yazmanız gerekir.

[..Sütun listesi ve DEĞERLER liste hem boşsa]

, INSERT oluşturur varsayılan değerine ayarlanmış her sütun ile bir sıra:

INSERT INTO tbl_name() VALUES(); 

[..]

katı modda Bir sütun varsayılan değerine sahip değilse, bir hata oluşur. Aksi takdirde, MySQL açıkça tanımlanmış bir varsayılan olmayan tüm sütun için örtülü varsayılan değeri kullanır.

+0

'INSERT INTO tablo_adı DEFAULT' MySQL'de çalışmıyor. Bunun yerine 'INSERT INTO table_name VALUES()' kullanın. – izogfif

+0

'SHOW VARIABLES GİBİ 'sql_mode';' STRICT_TRANS_TABLES, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION' verir, bu yüzden SQL Strict modunun olduğuna inanıyorum. 'INSERT INTO table_name DEFAULT' sorgularını çalıştırdığımda 'hata veriyor 'SQL Hatası (1064): SQL sözdiziminizde bir hata var; Doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen kılavuzu, satır 1'de 'DEFAULT' yakınında kullanmak için kontrol edin. İki alternatif verdiğinizi ve ilkinin MySQL durumunda çalışmadığına işaret ettim. – izogfif

+0

@izogfif: Bu doğru gibi görünüyor, teşekkürler –

İlgili konular