Hello,
When I execute two queries, the first result becomes random.
Given the database:
create database test;
use test;
create table person (
id int auto_increment,
name varchar(100),
primary key (id)
);
create table address (
id int auto_increment primary key,
person int,
description varchar(200),
foreign key (person) references person(id)
);
insert into person(name) values('Roni');
insert into address(person, description) values(1, 'Street 1');
Given the code:
julia> using DBInterface, MySQL
julia> con = DBInterface.connect(MySQL.Connection, "127.0.0.1", "root",
"PASSWORD", db="test", port=3306);
julia> r1 = first(DBInterface.execute(con,
"select * from address where id = 1"))
MySQL.TextRow{true}: (id = 1, person = 1, description = "Street 1")
julia> r1.id
1
julia> r1.person
1
julia> r2 = first(DBInterface.execute(con,
"select * from person where id = 1"))
MySQL.TextRow{true}: (id = 1, name = "Roni")
julia> r2.id
1
julia> r2.name
"Roni"
julia> r1.description
"\0_9\n\x02\0\0\0\0b9\n\x02\0\0\0\0e9..."
Note that result r1.description
is incorrect! The correct answer is: "Street 1"
, but
when I do the second query and store the result at r2
, the first result r1
turns incorrect.
Why?
PS: I know I can make a join to get the both result with only one query.