2012-04-12 22 views

cevap

12

Önce PREPARE kullanarak deyimi hazırlamak ve buraya bakın EXECUTE

kullanmalısınız: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html

şey gibi:

SET @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()"); 

PREPARE stmt1 FROM @query; 
EXECUTE stmt1; 
DEALLOCATE PREPARE stmt1; 
+0

Bu hatayı aldım # 1064 - SQL sözdiziminde bir hata var; Doğru sözdizimi için MySQL sunucu sürümünüze karşılık gelen elkitabını kontrol edin, 2. – Avinash

+0

numaralı satırda 'EXECUTE stmt_name' yakınında kullanmak için Düzenlemeyi deneyin, tamam olmalısınız. – mattytommo

+0

Teşekkürler @mattytommo. – Avinash

2
Set @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()"); 

ve sonra

PREPARE stmt_name FROM @query 

ve

EXECUTE stmt_name 
-2

sonunda CONCAT(), onu başka bir şey ile bir dize bitiştirmek çalışıyor beri bir hata oluşturabilir dışında bir şey yapmıyor kaldırın.

+0

Aslında 5 elementin tamamlayıcısıdır, herhangi bir hata olmayacaktır => cevabınız kötüyse -> daha önce cevaplanmış soruları yanıtlama - yeni bölüme bakın ve becerilerinizi gösterin :) – Toumash

+0

mantıksız cevap. –

İlgili konular