我嘗試使用下面的查詢將值插入MySQL數據庫:「近」,)(?‘如何在MySQL數據庫中插入新行?
INSERT INTO TestTable (SearchTerm, SearchResult)
VALUES (?, ?), ("TestTerm", "TestResult");
我得到的錯誤信息有錯誤testTerm中’,‘的TestResult’ )'在第1行「。
有人會介意指出我的錯誤嗎?
我嘗試使用下面的查詢將值插入MySQL數據庫:「近」,)(?‘如何在MySQL數據庫中插入新行?
INSERT INTO TestTable (SearchTerm, SearchResult)
VALUES (?, ?), ("TestTerm", "TestResult");
我得到的錯誤信息有錯誤testTerm中’,‘的TestResult’ )'在第1行「。
有人會介意指出我的錯誤嗎?
?
與框架如PDO和mysqli一起使用。一個正常的插入看起來像這樣
INSERT INTO TestTable (SearchTerm, SearchResult)
VALUES ('TestTerm', 'TestResult');
或
INSERT INTO TestTable (SearchTerm, SearchResult)
SELECT 'TestTerm', 'TestResult';
腳本直接:
INSERT INTO TestTable (SearchTerm, SearchResult)
VALUES ("TestTerm", "TestResult");
INSERT INTO TestTable (SearchTerm, SearchResult) VALUES (?, ?);
它看起來像你正在嘗試使用一個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庫,可以讓您這樣做。你在用什麼語言?
這是個小問題;查看文檔 – TMS
http://dev.mysql.com/doc/refman/5.6/en/insert.html – Cocowalla