2013-06-29 4 views
-3

나는 다음과 같은 쿼리를 사용하여 MySQL 데이터베이스에 값을 삽입하기 위해 노력하고있어 : " '근처) (?"MySQL 데이터베이스에 새 행을 삽입하는 방법은 무엇입니까?

INSERT INTO TestTable (SearchTerm, SearchResult) 
VALUES (?, ?), ("TestTerm", "TestResult"); 

내가 오류가 있다는 오류 메시지를 TestTerm을 ","TestResult ") 'at line 1'.

누군가 내 실수를 지적해도 되겠습니까?

+2

이것은 간단한 질문입니다. 문서를 살펴보십시오 – TMS

+1

http://dev.mysql.com/doc/refman/5.6/en/insert.html – Cocowalla

답변

2

?은 PDO 및 mysqli와 같은 프레임 워크와 함께 사용됩니다.

INSERT INTO TestTable (SearchTerm, SearchResult) 
VALUES ("TestTerm", "TestResult"); 

prepared statements으로 : 정상적인 삽입이 직접이

INSERT INTO TestTable (SearchTerm, SearchResult) 
VALUES ('TestTerm', 'TestResult'); 

또는

INSERT INTO TestTable (SearchTerm, SearchResult) 
SELECT 'TestTerm', 'TestResult'; 
1

스크립트처럼 보이는 당신이 사용하려는처럼

INSERT INTO TestTable (SearchTerm, SearchResult) VALUES (?, ?); 
0

같습니다 a perpared statement. 질문 기호는 쿼리 깨는 문자 (즉, 세미콜론과 따옴표)를 포함 할 수있는 값을 나타냅니다.

라이브러리를 사용하는 경우 일반적으로 두 단계를 수행해야합니다. 예 : java :

PreparedStatement ps = new PreparedStatement("INSERT INTO TestTable (SearchTerm, SearchResult) VALUES (?, ?)"); 
ps.execute("TestTerm", "TestResult"); 
ps.execute("Escaped;Term", "TestResult"); // the semicolon will be escaped for you 

대부분의 언어에는이를 수행 할 수있는 일반 SQL 라이브러리가 있습니다. 어떤 언어를 사용하고 있습니까?

관련 문제