Why is this SQLquery in Matlab returning repeated records?

2 次查看(过去 30 天)
I used JDBC driver to connect to the mySQL DB in Matlab. The connection works. However, when I used following SQLquery in Matlab to get data:
SQLquery = ['SELECT * FROM db_XYZ WHERE Col_Name=' '''Col_A'''];
I got repeated (always three times) results shown as below:
1 Col_A CA SFO 1 Col_A CA SFO 1 Col_A Ca SFO
There is only row of "1 Col_A Ca SFO" in the database table.
Why? Thanks...

回答(1 个)

colordepth
colordepth 2025-3-12
编辑:colordepth 2025-3-12
The query syntax appears to be correct. Start by inspecting the MATLAB result structure to confirm the number of rows returned by MATLAB:
disp(size(fetchedData))
If it shows duplicates (e.g., 3 rows), proceed to validate the database:
  1. Run the query directly in MySQL (e.g., via Workbench).
  2. Use a SELECT COUNT query to confirm the number of matching rows in the database.
If the database returns 1 row but MATLAB shows duplicates, the issue is not database-level. This indicates MATLAB is appending results (e.g., repeated fetch calls or code logic like loops). If both the database and MATLAB show duplicates, check for triggers using:
SHOW TRIGGERS FROM your_database;

类别

Help CenterFile Exchange 中查找有关 Database Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by