Sql server 插入查询、字符串或二进制数据将被截断
为什么这种情况不断发生?前两种数据类型是Sql server 插入查询、字符串或二进制数据将被截断,sql-server,ssms,sql-insert,Sql Server,Ssms,Sql Insert,为什么这种情况不断发生?前两种数据类型是Int。“游戏”是DateTime。最后一个是VarChar。为什么执行不成功 用作列数据类型时,varchar的默认长度为1 varchar[(n | max)]可变大小字符串数据 在数据定义或变量声明中未指定n时 语句,默认长度为1。如果在使用时未指定n 在CAST和CONVERT函数中,默认长度为30 所以需要为列设置最大长度。乙二醇 use tempdb go drop table if exists JaretsSchedule go cr
Int
。“游戏”是DateTime
。最后一个是VarChar
。为什么执行不成功
用作列数据类型时,
varchar
的默认长度为1
varchar[(n | max)]可变大小字符串数据
在数据定义或变量声明中未指定n时
语句,默认长度为1。如果在使用时未指定n
在CAST和CONVERT函数中,默认长度为30
所以需要为列设置最大长度。乙二醇
use tempdb
go
drop table if exists JaretsSchedule
go
create table JaretsSchedule
(
FieldId int,
TeamID int,
Games datetime,
TeamsPlaying varchar(255)
)
go
insert into JaretsSchedule(FieldId,TeamID,Games,TeamsPlaying)
values (1,1,'2012-01-20 10:00:00','Roadrunnersv.s.Cheetahs')
因为,您已超过字段的最大大小
ALTER TABLE JaretsSchedule ALTER COLUMN TeamsPlaying nvarchar(1000);
值(1,1,
——不要将数字括在单引号中。问题和显示表的CREATE
语句,作为文本,而不是屏幕截图。同时,还应将查询和错误消息作为文本而不是图像包含在内。删除图像。varchar
列的大小是多少?可能是您需要的值想要插入的内容太大,无法放入其中。这似乎有点规范化问题。为什么有一个varchar列包含两个团队的名称?您已经在一个列中包含了TeamID。为什么不添加第二个列,如OpponentID。然后,您拥有每个团队的ID,并且在提取数据时查询名称。这不仅仅是sim卡普勒,你有能力改变一个团队的名字。