是否可以根据参数值在表中插入值

Posted

技术标签:

【中文标题】是否可以根据参数值在表中插入值【英文标题】:Is it possible to insert value in table based on parameter value 【发布时间】:2013-11-19 18:46:52 【问题描述】:
String sql = ("insert into registration(pic) values(?) where email='"+Email+"' ");

我收到错误:您的 SQL 语法错误;检查与您的 mysql 服务器版本相对应的手册,以在第 1 行的“where email='yyy@ymail.com”附近使用正确的语法

【问题讨论】:

你可能想看到这个答案:***.com/a/485062/637283 MySQL Insert Where query的可能重复 【参考方案1】:

你必须使用 UPDATE 查询来传递它

String sql = "UPDATE registration SET pic = ? WHERE email = '" + Email + "'";

UPDATE 查询的语法是

UPDATE table_name SET column_name = value;

【讨论】:

【参考方案2】:

插入查询格式应该是,

"insert into tablename (columnname) values(coulmnvalue)"

"update registration set pic='' where email='"+Email+"'";

【讨论】:

【参考方案3】:

是的。那是不可能的。

任你选择:

insert into registration(pic) values(?)

这会给你一个新的行;

或者你想要一个更新:

UPDATE registration SET pic = ?
WHERE email = <EMAILYouWant>

这将更新现有行,其中电子邮件 = 包含您要更新 pic 列的电子邮件的记录。

【讨论】:

以上是关于是否可以根据参数值在表中插入值的主要内容,如果未能解决你的问题,请参考以下文章

根据 Redshift 中其他表的条目在表中插入值

创建过程并在表中插入值

无法使用 Liquibase 中的序列在表中插入值

如何根据多个ID值在Excel表中找出匹配的结果

使用 EF 和 Linq 通过另一个表字段值的值在表中查找字段

根据带有参数的选择(唯一键)从另一个表中插入值