我正在编写一些使用MySQL api创建数据库,插入,更新等的C代码。我在查找MySQL语法后查找最简洁/正确的方法来构建查询时遇到了一些麻烦可能会非常棘手摆在AC字符串,例如,我想查询看起来像这样的可读性:c字符串文字中的特殊字符
strcpy(query, "CREATE TABLE Users (
userID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (userID),
email VARCHAR(31) NOT NULL,
timeEntered TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
address VARCHAR(31) NOT NULL,
index (email))
");
那么当然我会跑的东西查询类似
/* send SQL query */
if (mysql_query(conn, query)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
} else { printf("table created\n"); }
然而,编译器抱怨预期')'和丢失终止“等等。是最好的解决方案?
添加的细节“不能包含换行符” - >字符串常量可以包含源字符的任何成员设置除双引号“,反斜线\或换行符” – chux