Php 无法插入值'-1';进入数据库

Php 无法插入值'-1';进入数据库,php,mysql,Php,Mysql,我无法将值“-1”插入数据库,该字段的表设置为int(10)。 我不知道是什么问题。你能帮我吗。多谢各位 $sql2="INSERT INTO attendance_count(username,date,count_time,appendix)VALUES('$applicant','$date1','-1','$altext')"; mysql_query($sql2); 不要使用单引号,因为它是一个整数。请确保该列没有无符号。 文档说明它不会存储文字“-”字符, 这意味着它现在可能在做另

我无法将值“-1”插入数据库,该字段的表设置为
int(10)
。 我不知道是什么问题。你能帮我吗。多谢各位

$sql2="INSERT INTO attendance_count(username,date,count_time,appendix)VALUES('$applicant','$date1','-1','$altext')";
mysql_query($sql2);

不要使用单引号,因为它是一个整数。

请确保该列没有
无符号。

文档说明它不会存储文字“-”字符, 这意味着它现在可能在做另一个有符号整数 字段总是这样,它存储一个符号位来表示负数 而不是数字

你仍然会在数字前面看到一个负号,因为它是 由MySQL作为该符号位的结果生成

如果你不理解符号位,你可以考虑如何签名。 字节可以存储从-128到127的数字,而无符号字节可以存储从-128到127的数字 存储0到255之间的数字。这是因为一个数组中的8位之一 带符号的数字正用于存储+/-(1为负数,0为负数) 正),而其余位提供的数字最多为2^7(-128或 127)

因此,例如,如果位1111有一个符号位,它们将等于-7 (负+4+2+1),但如果它们是无符号的,则等于15(8+4+2+1)。 存储的比特数仍然相同

您可能想知道,为什么有符号数字中的负边界可以使用 第8位,而正界限制为7位之和 (1小于第8位)。这是因为10000000被认为是 同时为负数和第8位,因为 否则-0的表示与00000000是冗余的,00000000 表示0。消极和积极之间没有区别 零,所以负的最高有效位总是它的值 位本身(但为负数)


输入值-1的列应该是有符号的

INT(有符号)值的最小值可以是-2147483648,最大值可以是2147483647

INT(无符号)值的最小值可以是0,最大值可以是4294967295

哪种数据类型是计数时间?数据类型是INT(10)。那么您不应该在引号中加-1。“无法插入”是什么意思?语句是否完全不插入数据?您是否在
计数时间
中获得意外值?如果是,哪一个?请给我举个例子。谢谢。-1阅读原始问题,说明字段类型为
int(10)
-1阅读原始问题,说明字段类型为
int(10)
使用phpmyadmin,我可以更改值为“-1”。无所谓。MySQL在任何情况下都必须解析它,因为SQL字符串是一个字符串。引号在MySQL中不会改变任何东西。我尝试删除单个引号,然后运行代码。它无法将数据插入数据库。database.int中没有任何数据应
签名
。Mysql声明所有整数类型都可以有一个可选的(非标准的)无符号属性。Unsigned type可用于仅允许列中的非负数,或者在需要更大的列上限数值范围时。例如,如果一个INT列是无符号的,则该列的范围大小相同,但其端点从-2147483648和2147483647移动到0和4294967295。这是原始的“是”,我在这里提取它,因为这是同一个问题。我想没有什么错,因为这是公认的答案。