【发布时间】:2015-07-13 20:37:15
【问题描述】:
我只需要将数据(字符集 UTF-8)插入到 mssql 表中。我可以选择数据,但不能插入。
为了通过 laravel 连接到 mssql 服务器,我使用“Freetds”。
Laravel 4.2
插入代码:
try {
$data = DB::table('angularTableUserData')->insert([
'userId' => Auth::user()->PK_psPersonalData,
'fullname2' => $data['fullname2'],
'praddress' => $data['praddress'],
'occupation' => $data['occupation'],
'gender' => $data['gender'],
'prtelno' => $data['prtelno'],
'mobilephone' => $data['mobilephone'],
'emptelefax' => $data['emptelefax'],
'email' => $data['email'],
'promo' => $data['promo'],
'nkfullname' => $data['nkfullname'],
'FK_mscRelation_NK' => $data['FK_mscRelation_NK'],
'nktelefax' => $data['nktelefax'],
'civilstatus' => $data['civilstatus'],
'otherallergies' => $data['otherallergies'],
'pastmedallergy' => $data['pastmedallergy']
]);
}
catch(Exception $ex)
{
return $ex;
}
return $data;
错误文本: http://pastebin.com/eUabMPCP
表结构
[id] [int] IDENTITY(1,1) NOT NULL,
[userId] [int] NULL,
[fullname2] [varchar](max) NULL,
[praddress] [varchar](max) NULL,
[occupation] [varchar](max) NULL,
[gender] [varchar](max) NULL,
[prtelno] [varchar](max) NULL,
[mobilephone] [varchar](max) NULL,
[emptelefax] [varchar](max) NULL,
[email] [varchar](max) NULL,
[promo] [varchar](max) NULL,
[nkfullname] [varchar](max) NULL,
[nktelefax] [varchar](max) NULL,
[civilstatus] [varchar](max) NULL,
[pastmedallergy] [varchar](max) NULL,
[otherallergies] [text] NULL,
【问题讨论】:
-
嗨,您能否将您的错误消息作为您问题的一部分发布。
-
我觉得它太大了,这就是我通过 pastebin 发布它的原因
-
为什么将所有内容都定义为 varchar(max)?您是否希望姓名或电话号码超过 8,000 个字符?为什么一栏的文字?这已被弃用十年并被 varchar(max) 取代。
标签: php sql-server laravel laravel-4 freetds