2009-04-15 28 views
3

何らかの理由で、「テキスト」型の列に書き込むと、私のクエリが壊れてしまいます。次に例を示します。MySQLのテキスト列に文字列を挿入できません

Describe messages; 

Field   Type   Null Key Default Extra 
id   int(11)  NO PRI NULL  auto_increment 
title   varchar(255) YES  NULL 
body   text   YES  NULL 
to   text   YES  NULL 
content_type varchar(255) YES  NULL 
is_sms  tinyint(1) YES  NULL 
user_id  int(11)  YES  NULL 
created_at datetime  YES  NULL 
updated_at datetime  YES  NULL 

その後、私は挿入してみてください:これは一般的なMySQLの構文エラーが発生するいくつかの理由

INSERT INTO messages (id,title,body,to) VALUES ('1','Test Message','This is a test message. This is a test message. This is a test message. This is a test message.', 'an email'); 

を。 "to"列を削除するとクエリが正常に機能し、クエリの対応する値が返されます。

アイデア?

答えて

3
INSERT 
INTO  messages (id,title,body,`to`) 
VALUES ('1','Test Message','This is a test message. This is a test message. This is a test message. This is a test message.', 'an email'); 
4

私はあなたが囲む場合はそうのようなbackticsで "する" と考えている代わりに

INSERT INTO messages (`id`,`title`,`body`,`to`) 
    VALUES ('1','Test Message','This is a test message. 
    This is a test message. This is a test message. This is a test message.', 
    'an email'); 
1

これを試してみてください:

INSERT INTO messages (id,title,body,`to`) VALUES ('1','Test Message','This is a test message. This is a test message. This is a test message. This is a test message.', 'an email'); 

それは動作します - 私のためにやりましたとにかく

0

変数はMySQLで定義されていません。例えば、 'to'、 'not'、 'join' ...を使用しないでください。

INSERT INTOメッセージ(ID、タイトル、ボディ、テスト) VALUES( '1'、 'Test Message'、 'これはテストメッセージです。 これはテストメッセージです。これはテストメッセージです。これはテストメッセージです '、 '電子メール ');

関連する問題