mysql - 尽管数据看似合适,但插入时为 "String or binary data would be truncated"

标签 mysql sql sql-server sqlite sql-server-2014

我有一个这样的表:

CREATE TABLE Customers
(CustomerID int Identity (1,1) NOT NULL PRIMARY KEY,
customerName varchar (50),
Address varchar (255),
Phone int NOT NULL,
Email varchar,
Gender varchar,
Age int, 
);

我尝试像这样插入到这个表中:

Insert into Customers (customerName, Address, Phones, Email, Gender, Age)
Values ('Anosa Seunge', 'Keskuskatu 200', 358-3-4180, 'ijiosd@ao.com', 'Male', 19),
        ('Jihad Christian', '305 - 14th Ave. Suite 3B', 358-1-3688, 'jihado@ao.com', 'Female', 29);

并收到此错误:

Msg 8152, Level 16, State 14, Line 4
String or binary data would be truncated.
The statement has been terminated.

最佳答案

您的电子邮件性别字段的长度为1,这可能是您想要的性别(尽管可能不基于您的insert 语句),但肯定不适用于电子邮件

你想要这样的东西:

CREATE TABLE Customers
(CustomerID int Identity (1,1) NOT NULL PRIMARY KEY,
customerName varchar (50),
Address varchar (255),
Phone int NOT NULL,
Email varchar(50),
Gender varchar(50),
Age int, 
);

关于mysql - 尽管数据看似合适,但插入时为 "String or binary data would be truncated",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39512234/

相关文章:

mysql - MySQL TIMESTAMP 的约束

php - 使用 $_POST 将选定的项目值发送到服务器

java - java中如何处理高效的数据库连接和性能?

mysql - 使用 bash 转义 SQL

用于将单个表导出到 SQL 文件的 PHP 脚本

SQL Server : hex to base64

mysql - SQL Server 和 MySQL 表之间的双向同步

mysql - 案例 MySQL - 选择作为值

mysql - 在 MySQL 中计算转化率

c# - EF6 使用多个相同类型的表