SQL:对 INSERT 和 UPDATE 使用相同的字符串?

标签 sql insert sql-update

我一直在使用的 INSERT 语法是这样的

INSERT INTO TableName VALUES (...)

我一直在使用的 UPDATE 语法是
UPDATE TableName SET ColumnName=Value WHERE ...

所以在我所有的代码中,我必须生成 2 个字符串,这会导致这样的结果
insertStr = "(27, 'John Brown', 102)";
updateStr = "ID=27, Name='John Brown', ItemID=102";

然后分别使用
"UPDATE TableName SET " + updateStr + " WHERE ID=27 " +
"IF @@ROWCOUNT=0 "+
"INSERT INTO TableName VALUES (" + insertStr + ")"

当我处理大约有 30 列的表格时,它开始困扰我。

我们不能只生成一个字符串用于 INSERT 和 UPDATE 吗?

例如。在 UPDATE 语句上使用上面的 insertStr 或在 INSERT 语句上使用 updateStr ,还是一种全新的方式?

最佳答案

我认为你需要一种全新的方法。您对 持开放态度SQL Injection .向我们提供一些示例代码,说明您如何获取数据输入并将语句发送到数据库。
alt text http://goose.ycp.edu/~weddins/440/S09%20IFS440%20Bobby%20Drop%20Tables.PNG

关于SQL:对 INSERT 和 UPDATE 使用相同的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790257/

相关文章:

ios - iOS SQLite3 中 SQLite 更新语句的可能性

mysql - 我可以在一个查询中更新/选择表吗?

php - mysql 插入数据库注册页面示例?

MySQL,一次查询更新多个表

MySQL 复杂查询 - 使用 UNION ALL 和内部 JOIN 对多个数据库求和

mysql - SQL:选择一个表中不存在的键

oracle - ORA-00917 : missing comma error

mysql - 在 INSERT 查询中传递列

mysql - 在 SQL 中查找字符串并用占位符替换

mysql - 在Mysql 8中选择顺序表时出现语法错误