相关疑难解决方法(0)

"数据太长了" - 为什么?

我编写了一个MySQL脚本来为假设的医院记录创建数据库并用数据填充它.其中一个表Department有一个名为Description的列,它被声明为varchar(200)类型.当为描述执行INSERT命令时,我得到一个错误1406 : __CODE__. 我插入的所有字符串都少于150个字符.

这是宣言:
__CODE__


这是插入命令: 从外表看,这应该是有效的.有人有见识吗?
__CODE__

mysql sql

57
推荐指数
7
解决办法
18万
查看次数

"ERROR 1406:1406:列的数据太长了",但它不应该?

我有以下表结构:

DROP TABLE IF EXISTS `tblusers`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tblusers` (
  `UserID` int(5) NOT NULL AUTO_INCREMENT,
  `ContactPersonID` int(5) NOT NULL,
  `NameOfUser` varchar(70) NOT NULL,
  `LegalForm` varchar(70) DEFAULT NULL,
  `Address` varchar(70) DEFAULT NULL,
  `City` varchar(50) DEFAULT NULL,
  `Postal` int(8) DEFAULT NULL,
  `Country` varchar(50) DEFAULT NULL,
  `VatNum` int(10) DEFAULT NULL,
  `Username` varchar(30) NOT NULL,
  `Password` varchar(20) NOT NULL,
  `Email` varchar(40) NOT NULL,
  `Website` varchar(40) DEFAULT NULL,
  `IsSeller` bit(1) DEFAULT NULL,
  `IsBuyer` …
Run Code Online (Sandbox Code Playgroud)

mysql

10
推荐指数
2
解决办法
3万
查看次数

在插入时自动将字符串剪辑到适当的长度

我在MySQL中有一个包含各种VARCHAR字段的表.我想通过PHP从表单中插入一些用户数据.显然,如果我知道PHP中的字段长度,我可以限制那里的数据长度substr().但是那种违反DRY(存储在MySQL中的字段长度以及我的PHP脚本中的常量).有没有办法让我配置一个INSERT,以便它自动切断过长的字符串,而不是失败?

编辑:当我有过长的字符串时,它在PHP/PDO中失败(或至少导致异常).不知道我在PHP/PDO中必须做什么,所以它做对了.

编辑2:呃.这是错误的做法; 即使我让它在INSERT上工作正常,如果我想检查一个重复的字符串,它将无法正常匹配.

php mysql pdo

2
推荐指数
1
解决办法
3225
查看次数

标签 统计

mysql ×3

pdo ×1

php ×1

sql ×1