Insert a blank space using datainsert

4 ビュー (過去 30 日間)
john
john 2015 年 7 月 15 日
コメント済み: john 2015 年 7 月 22 日
Hi all,
I am changing over from fastinsert to datainsert and I am having an issue inserting blank spaces to my SQL table.
Ex: a = {''};
Old code (works): fastinsert(conn,tableName,fieldNames,a);
New code (doesn't work): datainsert(conn,tableName,fieldNames,a);
datainsert treats the blank character as empty, and inserts a NULL value to the table. Is there a way to force it to intrepret this as a blank character instead?
Thanks!

採用された回答

Madhav Rajan
Madhav Rajan 2015 年 7 月 21 日
I understand that you are trying to insert a black space into an SQL table using the "datainsert" function.
The "datainsert" function automatically casts the string '' which is of type MATLAB 'char' to NULL prior to the insertion. One workaround for this issue is to use the string representation in Java as shown in the following example:
Suppose I have a MYSQL table called "names" with three fields 'id', 'name' and 'subject'. I want to insert a record with the 'name' column's value to be '' (the empty string), I would do the following:
>> colnames = {'id','name' , 'subject'};
>> data = {13, java.lang.String(''),'asd'};
>> datainsert(conn,tablenames,colnames,data)
Hope I have answered your question.
  1 件のコメント
john
john 2015 年 7 月 22 日
AWESOME! This worked and was exactly what I was looking for. Using this I was able to dramatically improve the performance of my code, thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDatabase Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by