Py学习  »  pycharm

MySQL未连接到PyCharm[副本]

Atheya • 4 年前 • 1347 次点击  

就像我一样 SET cust_传真到mysql中的一个表中,如下所示:

cust_fax integer(10) NOT NULL,

然后我插入如下值:

INSERT INTO database values ('3172978990');

但是它说

`错误1264`OUT OF VALUE FOR COLUMN

我想知道错误在哪里?我的套装?还是别的?

任何回答都将不胜感激!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/46915
 
1347 次点击  
文章 [ 4 ]  |  最新文章 4 年前
totymedli
Reply   •   1 楼
totymedli    5 年前

TL;博士

确保你的 AUTO_INCREMENT 没有超出范围。在这种情况下,为其设置一个新值:

ALTER TABLE table_name AUTO_INCREMENT=100 -- Change 100 to the desired number

解释

自动递增 可以包含大于数据类型所允许的最大值的数字。如果你填满了一张桌子,然后把它倒空,但是 自动递增 保持不变,但也可能有不同的原因。在这种情况下,新条目的ID将超出范围。

解决方案

如果这是问题的原因,可以通过设置 自动递增 比最近一行的ID大一个。所以如果最近一行的ID是100,那么:

ALTER TABLE table_name AUTO_INCREMENT=101

如果你想查一下 自动递增 的当前值, use this command 以下内容:

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DatabaseName'
AND   TABLE_NAME   = 'TableName';
Saharsh Shah
Reply   •   2 楼
Saharsh Shah    11 年前

你超过了 内景 数据类型。你可以用 未签名 属性来支持该值。

带符号int 可以支撑到 2147483647个 无符号整数 允许加倍。在此之后,您仍然希望保存数据而不是使用 烧焦 瓦查尔 长度为10

JakeGould Rohit Kolhekar
Reply   •   3 楼
JakeGould Rohit Kolhekar    5 年前

您还可以将数据类型更改为bigint,这将解决您的问题,除非需要,否则将整数保留为字符串不是一个好的做法。:)

ALTER TABLE T_PERSON MODIFY mobile_no BIGINT;
Salman A
Reply   •   4 楼
Salman A    5 年前

值3172978990大于2147483647,最大值为 INT 因此产生了错误。mysql整数类型及其范围是 listed here 是的。

还要注意 (10) 在里面 INT(10) 不定义整数的“大小”。它指定了 display width 列的。此信息仅供参考。

若要修复错误,请将数据类型更改为 VARCHAR 是的。电话和传真号码应存储为字符串。见 this discussion 是的。