问题标签 [tinyint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
220 浏览

mysql - 无法为 tinyint 和 varchar 字段更新为默认值 null 和空字符串

我有以下表格架构 -

对于现有记录,字段 pre_notif_action 和 pre_notif_interval 中的值分别为“predeactivate”和 45 -

结果 -

当我尝试编辑时,我得到非零影响的行 -

结果 -

但是,当我选择 -

我得到这个输出 -

我该如何解决这个问题?

0 投票
1 回答
305 浏览

mysql - 使用 UNION 更新视图将 TINYINT 更改为 BIGINT

我正在通过 向视图添加信息UNION。我目前在由 表示的表中有布尔值TINYINT。我需要将这些列维护为TINYINT. 中的以下信息UNION将数据类型更改为BIGINT

显然,MYSQLCAST()不会转换为TINYINT. 如何保留TINYINT原始视图?

0 投票
0 回答
203 浏览

php - 使用 PHP 和 HTML 为表中的每一行创建复选框。我如何在 PHP 部分调用它们?

在此处输入图像描述 编辑:这是 SQL SELECT

这是带有更新 SQL 的 PHP 和 HTML 代码,它确实有效,因为我没有唯一的 id

我尝试了一些东西,比如给名字或 id quiz[],但我不能在 php 函数中调用它。并且找不到太多的方法来做到这一点。

问题是,如果我选中第一行的复选框,它将为 0,但如果单击最后一个复选框,它将全部设置为 1。

0 投票
1 回答
1180 浏览

mysql - 在 MYSQL 中将文本转换为 tinyint

到目前为止,我知道BOOLEANmysql 中没有类型,并且在内部它转换为tinyint(1)数据类型为布尔值时。但我也遇到了tinyint没有被处理CASTCONVERT功能。

所以基本上我的问题是有没有任何直接的方法可以将数据类型转换为 TINYINT(1),就像它可以处理任何其他数据(如 DATE)一样。

例子 :

那么我怎样才能在tinyint(1)不改变表格的情况下简单地将类型转换为..

0 投票
2 回答
290 浏览

sql-server - INSERT 语句 - SQL 服务器 - 错误 -Nvarchar 值 '2020' 溢出 TINYINT 列

尝试将 Year 的值(即 2020)插入数据类型为 TINYINT 的列中,这是不可能的,因为 TINYINT 的存储范围为 0-255。如果我想存储值 2020 而不使用更大的整数列(即不将数据类型从 TINYINT 更改为 INT、BIGINT 等),是否有解决方法/解决方案(使用 Convert/Cast 或任何其他可能的方式)我正在使用SQL 服务器管理工​​作室。请帮忙。

0 投票
2 回答
182 浏览

mysql - TINYINT 列上的 MySQL 索引:为什么检查 '= 0' 和检查 'is false' 之间有区别?

MySQL 为查询提供不同的执行计划,具体取决于我检查索引 TINYINT 字段是 'is false' 还是 '= 0'。该表的名称是ordini (意思是' shipments '),我希望 MySQL 使用的索引是 shippinglistrequest

SHOW CREATE ordini(为简单起见,我省略了大多数列和索引):

查询1

Query2(更改:isEsportatoSAM 为 false):

Query3(更改:isEsportatoSAM = 0 和 isAnnullato 为 false):

我的猜测是:

Query1将正确利用 shippinglistrequest 索引。

Query2不能在第一列之外使用它,因为我将 isEsportatoSAM 与 false 进行比较(但为什么?该列承认空值的事实是否有任何相关性?),因此选择了不同的索引。

Query3将使用索引直到(并包括)第三列,但由于“为假”比较而不再使用,这就是 ref 列中三个“const”的原因,这就是连接类型为“ref”的原因而不是“范围”(它没有到达索引的日期范围部分)。这种解释正确吗?

谁能帮我解决这些问题?

PS:MySQL版本为5.5.56

PS2:从设计的角度来看,我知道在这些 tinyint 列中允许空值是没有意义的(我没有设计这个系统)。

0 投票
2 回答
93 浏览

c# - 如何从 SQL Server 表中转换 TinyInt 值?

我有这个 SQL Server (Express) 表:

在此处输入图像描述

...具有 TinyInt 的 GenreId(最多只有几十个不同的流派)。

此 C# 代码失败,显示“指定的强制转换无效”。

失败时“_genre”的值是“Adventure”。对 GetGenreIdForGenre() 的调用应返回“1”:

在此处输入图像描述

这是 GetGenreIdForGenre() 中失败的行:

在上下文中,GetGenreIdForGenre() 方法是:

没有可用的 (TinyInt) 转换。Int32 也失败了。我需要做什么来检索 TinyInt 值?

0 投票
0 回答
588 浏览

sql-server - 在 MS SQL Server 上存储“签名”TINYINT 的最佳方式?

我需要在 SQL Server之间-255和上存储一个值。255我正在寻找SELECT在大表(+5,000,000 行)上获取这些值的最快方法,并且每毫秒都很重要。请假设结构、索引和查询已经正确设计。

我知道我可以使用一个SMALLINT使用 2 个字节并由实现签名的。但由于我的主要目标是SELECT性能,我考虑使用一个TINYINT字段作为原始值,并使用一个BIT字段将值标记为负数或正数。但是我的 C 低级背景让我认为BIT实际上使用 1 个字节来存储和/或处理。在这里阅读答案(TINYINT vs Nullable BIT performance in MS SQL Server)后,我的怀疑似乎是正确的。


因此,为了更好地总结和定义标题上的“最佳”,我的问题是:

  1. 使用 aTINYINT和 a BITpair 字段将使用/处理 2bytes 或 1byte + 1bit 什么时候SELECTing?我不是在问存储,因为即使在大桌子上,差异也可以忽略不计(如果我错了,请纠正我)。

  2. 如果一个BIT字段在执行进程时使用 1 字节,那么在2 字节 和一对已经使用 2 字节并由实现签名的字段SELECT之间会有任何性能提升吗?SELECTingTINYINTBITSMALLINT

  3. TINYINT如果是,并且使用and对实际上有性能增益 BIT,则可以对其进行测量以精确评估性能增益是否值得使用TINYINTandBIT对的麻烦,而不是仅使用 a 的更好设计SMALLINT


注 1:服务器是 Microsoft SQL Server 2019 Datacenter
注 2:问题是关于 SQL Server 选择这些值。它不会用于 SQL Server 上的任何聚合、WHERE 或任何其他操作。
注意 3:该值不会用作 INDEX 的键。它只会包含在适当的索引/索引中。
注意 4:我将来可能需要的参数支持超出 -255 - 255 范围的值是有效的,但在这种情况下不适用。在这种情况下,我永远不需要它。如果有这种可能性,我无论如何都会使用“SMALLINT”,因为准备好支持这个值是有意义的。
注意 5:已经读过这个 SO 问题:([在 SQL Server 中 BIT 字段比 int 字段快吗?][2]),但它只将单个 `BIT` 与`INT`(4字节)进行比较,并且接受的答案没有不提供任何有形的论据。
0 投票
2 回答
85 浏览

mysql - MacOS MySQL_8的where子句中TINYINT UNSIGNED数据列不能减

以下是使用 MacOS 运行的 MySQL(8.0.x) 中的数据:

当我使用下面的 where 子句进行查询时,一切都很好:

但是,当我减去一个可能大于某些rentPayDay 值的值时,如下所示:

事情出错了:

有人对此有任何想法吗?为什么 TINYINT 数据不能在 where 子句中减去更大的数值?

0 投票
1 回答
47 浏览

mysql - How restrict mysql tiny-int to accept just integer

Im trying to get eeror about invalid data for a query but it seems mysql accept strings as tiney in queries and set 0 instead of returning any error.

So how can I restrict it to just accept integers.

Thanks in advance.