首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysql executenonquery_ExecuteNonQuery()返回注意点

虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回为该命令所影响的行数。...对于所有其他类型的语句,返回为 -1。如果发生回滚,返回也为 -1 看完后才明白,原来select语句不适合ExecuteNonQuery()方法,原来是这样,真笨,方法用错了!...publicintExecuteNonQuery(); 返回 受影响的行数。...虽然ExecuteNonQuery不返回任何行,但映射到参数的任何输出参数或返回都会用数据进行填充。 对于 UPDATE、INSERT 和 DELETE 语句,返回为该命令所影响的行数。...对于其他所有类型的语句,返回为 -1。

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

executescalar mysql_DbCommand.ExecuteScalar 方法的返回

语法: public abstract Object ExecuteScalar() 返回: 类型: System.Object,结果集中第一行的第一列。...与使用 ExecuteReader 方法然后使用 DbDataReader 返回的数据执行生成单个所需的操作相比,此操作需要的代码较少。...如果找不到结果集中第一行的第一列;则返回 null 引用(在 Visual Basic 中为 Nothing)。 如果数据库中的该为 null,此查询将返回 DBNull.Value。...> 第一个 select 语句返回一个确实存在的 keyword_id ,第二个 select 语句返回空结果集,第三个 select 语句返回的结果集中有一行数据,但是其是 NULL,这是因为 SQL...对于第三个 select 语句,DbDataReader.Read 方法的返回总是 true,而是通过 DbDataReader.IsDBNull 方法来判断查询结果是否为空。

1.3K20

Mysql存储过程

基础入门 本文基于mysql5.7以上版本 创建存储过程的语句为CREATE PROCEDURE,创建存储函数的语句为CREATE FUNCTION。调用存储过程的语句为CALL。...如果此存储过程没有任何输入输出,其实就没什么意义了,但是sp_name()的括号不能省略。 3、调用存储过程:下面是调用存储过程。对于存储过程提供的临时变量而言,MySQL规定要加上@开头。...游标允许您迭代查询返回的一组行,并相应地处理每行。 MySQL游标为只读,不可滚动和敏感。 1、只读:无法通过光标更新基础表中的数据。2、不可滚动:只能按照SELECT语句确定的顺序获取行。...但是,对其他连接的数据所做的任何更改都将影响由敏感游标使用的数据,因此,如果不更新敏感游标所使用的数据,则更安全。MySQL游标是敏感的。 您可以在存储过程,存储函数和触发器中使用MySQL游标。...存储函数只能通过return语句返回单个或者表对象。存储过程不能用return,但是可以使用多个out参数返回多个。 基本上存储过程的知识就是上面这些了。

6.7K30

Django学习-第六讲(上):Django数据库原生的方法操作

注意:django要求的mysql 版本为 5.7的,低于5.7的话不能使用ORM 常见MySQL驱动介绍: MySQL-python:也就是MySQLdb。...cursor = connection.cursor() # 拿到游标对象后执行sql语句 cursor.execute("select * from book") # 获取所有的数据 rows =...任何使用Python来操作MySQL的驱动程序都应该遵循这个规范。所以不管是使用pymysql或者是mysqlclient或者是mysqldb,他们的接口都是一样的。...那么读取cursor.description属性的时候,将返回一个列表,这个列表中装的是元组,元组中装的分别是(name,type_code,display_size,internal_size,precision...3.close:关闭游标。关闭游标以后就再也不能使用了,否则会抛出异常。 -4. execute(sql[,parameters]):执行某个sql语句。

71720

分布式 | Prepare Statement 协议游标可行性

此种方式的使用方式和原理可以参见文章:prepare statement 协议 第 2 种方式实际是 MySQL 中的 server-side 游标,server-side 游标是使用 MySQL 内部临时表来实现的...初始的时候,内部临时表是个内存表,当这个表的大小超过 max_heap_table_size and tmp_table_size 两个系统变量的最小的时候(两者的最小),会被转换成 MyISAM...内部临时表的使用限制同样适用于游标的内部临时表。 MySQL 中的两种临时表 外部临时表 用户通过 CREATE TEMPORARY TABLE 语句显式创建的临时表,这样的临时表称为外部临时表。...tmp_table_size 内部临时内存表大小的最大,不适用于用户自己创建的 Memory 表 MySQL 中没有找到限制临时表磁盘文件大小的参数。...官方文档: https://dev.mysql.com/doc/refman/5.7/en/cursors.html https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html

47320

MySQL 5.6 5.7 组内排序的区别

MySQL 5.7 对比 5.6 有很多的变化。一个常见的需求:按条件分组后,取出每组中某字段最大的那条记录。其实就是组内排序的问题,我的做法是:子查询先进行倒序排序,外层查询分组。...但是,主要是在 GROUP BY 中 未命名的每个非分组列中的所有对于每个组是相同的,这是有用的。服务器可以自由选择每个组中的任何,因此除非它们相同,所选择的是 不确定的。...STRICT_TRANS_TABLES 在该模式下,如果一个不能插入到一个事务表中,则中断当前的操作,对非事务表不做任何限制。...如果给出该模式,被零除时 MySQL 返回 NULL。如果用到 INSERT IGNORE 或 UPDATE IGNORE 中,MySQL 生成被零除警告,但操作结果为 NULL。...References MySQL 组内排序取最大 | mysqlwyett sql - MySQL Group By and Order By; - Stack Overflow MySQL5.7 中的

48920

Python快速学习第九天--安装并操作Mysql数据库

返回连接的游标对象 rollback方法可能不可用,因为不是所有的数据库都支持事务(事务是一系列动作)。...如果可用,那么它就可以“撤销”所有提交的事务。 commit方法总是可用的,但是如果数据库不支持事务,它就没有任何作用。...如果关闭了连接但还有提交的事务,它们会隐式地回滚——但是只有在数据库支持回滚的时候才可以。所以如果不想完全依靠隐式回滚,就应该每次在关闭连接前进行提交。...结果集是一个对象 fetchall():接收全部的返回结果行. rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。...接下来的其他操作或故障不应该对其有任何影响。 Python DB API 2.0 的事务提供了两个方法 commit 或 rollback。

1.2K80

SQL必知必会总结4-第18到22章

使用游标 本章节中讲解的是什么是游标,以及如何使用游标。 什么是游标 SQL检索操作返回一组称为结果集的行,这组返回的行都是与SQL语句相匹配的行(零行或者多行)。...pymysql.connect()实例对象的方法有: commit:提交数据 rollback:如果有权限,取消当前的操作,否则会报错 cursor([cursorclass]):返回连接的游标对象,执行...fetchone 返回一条语句 fetchall 返回所有的语句 fetchmany 返回many条语句 nextset() 移动到下一个结果 插入 import pymysql # 导入模块...id=1") # 查询id=1 >>cur.execute("select * from users") >>cur.fetchone() # 返回一条结果;游标会跟着移动,直到将所有的数据取完...检查约束用来保证一列(或者一组列)中的数据满足一组指定的条件,常见的用途有: 检查最大或者最小 指定数据的范围 只允许特定的,例如性别字段中只允许M或者F CREATE TABLE OrderItems

1.3K30

SpringBoot 填坑 | CentOS7.4 环境下,MySQL5.7 表时间字段默认设置失效

问题描述 我在本地端( windos 端,数据库版本 MySQL5.7、SpringBoot2.1.3、数据访问框架 JPA)测试代码时 current_timestamp 属性只要设有置默认,就会自动生成数据的创建时间...UNIQUE INDEX `upe_seller_info_username`(`username`) USING BTREE ); 从上面 SQL 示例可以注意到表字段,创建时间和更新时间设置了默认...错误日志 问题排查 前面我说了,我已经设置了字段有默认的。。但是为什么在线上服务器居然没有自动生成。我百思不得其解,在本地端安然无恙,怎么线上环境炸了呢?...) // JPA审计 @EnableJpaAuditing//开启JPA审计 我的思考 我个人的理解是当我们添加这些注解后,JPA 的审计功能会把再重复设置进 createtime,updatetime...这两个字段里面,第一遍是数据库层默认,第二遍就是代码层设置的。

1.8K30

MySQL 教程下

删除存储过程 drop procedure productpricing; 定义参数 关键字 OUT 指出相应的参数用来从存储过程传出一个返回给调用者)。...游标 MySQL 5 添加了对游标的支持。游标(cursor)是一个存储在 MySQL 服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。...换句话说,任何时候你执行一条 MySQL 语句,该语句实际上都是针对表执行的,而且所做的更改立即生效。...注意,这个日志文件是 MySQL 5 中添加的,以前的 MySQL 版本中使用的是更新日志。 ❑ 缓慢查询日志。顾名思义,此日志记录执行缓慢的任何查询。这个日志在确定数据库何处需要优化很有用。...导入数据 1、mysql 命令导入 如果你需要将备份的数据库导入到 MySQL 服务器中,可以使用以下命令,使用以下命令你需要确认数据库已经创建: 在登录情况下 mysql -u 用户名 -p密码

1K10

Mysql服务器SQL模式 (官方精译)

如果语句插入或修改多行,并且第二行或更后一行出现错误,则结果取决于启用了哪个严格模式: 因为STRICT_ALL_TABLES,MySQL返回一个错误,并忽略其余的行。...期望的行为 MySQL 5.7.x版本除了5.7.4到5.7.7 MySQL 5.7.4到5.7.7 插入'0000-00-00',不会产生警告 NO_ZERO_DATE 启用 严格模式启用 插入'...期望的行为 MySQL 5.7.x版本除了5.7.4到5.7.7 MySQL 5.7.4到5.7.7 插入日期,不会产生警告 NO_ZERO_IN_DATE 启用 严格模式启用 插入'0000-00...升级前应做任何修改。 对于以下SQL模式设置,MySQL 5.6和5.7之间的行为没有任何变化。...如果你编写的应用程序TRADITIONAL在MySQL 5.6中以模式运行 ,那么对MySQL 5.7没有任何改变。

3.3K30
领券