How to upload an array of double in postgreSQL?

7 visualizzazioni (ultimi 30 giorni)
Struggling in MATLAB
Struggling in MATLAB il 17 Lug 2022
Risposto: Ramtej il 6 Set 2023
I have a table in which different columns contain different types of data. I want to upload the table to postgreSQL database. I am having trouble with uploading the columns where datatype is cell. If I convert them to string or double(cell2mat) it's still not working. Here is my code:
datasource = 'live_database';
conn = database(datasource,'postgres','1234');
loadfile = load("Outputs1to70974.mat");
data = loadfile.allOutputs;
data.id = string(data.id); %1
data.subjectid = string(data.subjectid); %2
data.trialname = string(data.trialname); %3
data.date = string(data.date); %4
data.logical_out = string(data.logical_out); %5
data.run_time = cell2mat(data.run_time); %6
data.reaction_time = cell2mat(data.reaction_time); %7
data.average_position = cell2mat(data.average_position); %8
data.position_when_offered = cell2mat(data.position_when_offered); %9
tablename = "toytable";
sqlwrite(conn,tablename,data);
The sqlwrite documentation says numeric array type should is valid to upload on database, but seems like it's not working for me. How should I troubleshoot?

Risposte (1)

Ramtej
Ramtej il 6 Set 2023
Hi,
I can see that "data.average_position" is a numeric matrix of size (10,2). You cannot insert an array of multiple columns into a single column in the database.
Create two separate columns for 'x' position data and 'y' position data, and upload them to the database.
%%
data.average_position = cell2mat(data.average_position);
data.avg_Xposition = data.average_position(:,1); % array of avg x postition values
data.avg_Yposition = data.average_position(:,1); % array of avg y postition values
data.average_position = [] % clear the old position matrix
%% follow the above routine for all the applicable columns
Hope this resolves your query!

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by