为啥当我使用柴油 insert_into 数据到数据库时出现“找不到名为 `execute` 的方法”错误?
Posted
技术标签:
【中文标题】为啥当我使用柴油 insert_into 数据到数据库时出现“找不到名为 `execute` 的方法”错误?【英文标题】:why "no method named `execute` found" error have when i use diesel insert_into data to database?为什么当我使用柴油 insert_into 数据到数据库时出现“找不到名为 `execute` 的方法”错误? 【发布时间】:2021-05-01 01:41:04 【问题描述】:当我使用柴油“insert_into”将数据插入数据库时遇到问题,任何人都可以帮助我吗?
错误:
6 | .execute(&*conn);
| ^^^^^^^ method not found in `InsertStatement<table, ValuesClause<(ColumnInsertValue<columns::id, diesel::expression::bound::Bound<diesel::sql_types::Integer, &i32>>, ColumnInsertValue<columns::username, diesel::expression::bound::Bound<diesel::sql_types::Text, &std::string::String>>, ColumnInsertValue<columns::postdata, diesel::expression::bound::Bound<diesel::sql_types::Text, &std::string::String>>), table>>`
|
= help: items from traits can only be used if the trait is in scope
= note: the following trait is implemented but not in scope; perhaps add a `use` for it:
`use crate::diesel::RunQueryDsl;
代码:
diesel::insert_into(post::table)
.values(&post)
.execute(&*conn);
架构:
table!
post (id)
id -> Integer,
username -> Varchar,
postdata -> Varchar,
【问题讨论】:
【参考方案1】:正如编译器错误消息告诉您的那样,您在当前模块中错过了use crate::diesel::RunQueryDsl;
。这意味着相应的特征不在范围内。
【讨论】:
以上是关于为啥当我使用柴油 insert_into 数据到数据库时出现“找不到名为 `execute` 的方法”错误?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 graphQL 突变中使用柴油和杜松修复 mysql 的 sql 类型错误?