Unsupported Screen Size: The viewport size is too small for the theme to render properly.

Upgraded To 8.12…db Changes Not Saved…?

forums forums SQLyog Using SQLyog Upgraded To 8.12…db Changes Not Saved…?

  • This topic is empty.
Viewing 15 reply threads
  • Author
    Posts
    • #11565
      sqldave
      Member

      Hi —

      Just upgraded to 8.12 from something like 8.1.

      I performed a query on a table to select by a certain order. I then change the READ ONLY designation to the table name so that I can directly enter data into the table from the query RESULTS view. However, the new data is not saved when I exit!

      What am I doing wrong?

      I've been doing this day after day with the previous version and it worked fine. Those data entries are still OK. But, I can't figure out why it will no longer save my changes.

      Thanks for any clues.

    • #29229
      sqldave
      Member
      sqldave wrote on Jun 27 2009, 09:55 PM:
      Hi —

      Just upgraded to 8.12 from something like 8.1.

      I performed a query on a table to select by a certain order. I then change the READ ONLY designation to the table name so that I can directly enter data into the table from the query RESULTS view. However, the new data is not saved when I exit!

      What am I doing wrong?

      I've been doing this day after day with the previous version and it worked fine. Those data entries are still OK. But, I can't figure out why it will no longer save my changes.

      Thanks for any clues.

      ==========

      This is a follow-up. I reinstalled 8.05 without changing any settings. The two versions seem to handle saves differently when directly entering data in the query RESULTS window.

      8.05 –> input data into blank cells in columns d,e,f, and g. Then move the cursor down to the next line. ALL changes in the previous row are saved.

      8.12 –> input data into blank cells in columns d,e,f, and g. Then move the cursor down to the next line. NO changes are saved. However, enter data in blank cell in column d ONLY, then move the cursor down to the next row. The data in the previous cell in column d is saved.

      What am I doing wrong here??

      Thanks again!

    • #29230
      peterlaursen
      Participant

      1) Please post the CREATE TABLE statement for that particular table. It is difficult for us to understand what “columns d,e,f, and g” are. It also matters what the Primary Key is and if there are any floating type data columns (FLOAT and DOUBLE types).

      2) You can see what SQL SQLyog sends in the HISTORY tab – if it does send. Always check here, because that is what really matters!

      3) If it does not save when you move the cursor down next row it looks like a bug. Does it save when you click the 'save' icon (the small diskette icon)?

      4) Also tell what server version you are using.

      5) And could you try 8.13 beta1 please?

    • #29231
      sqldave
      Member
      peterlaursen wrote on Jun 28 2009, 03:55 AM:
      1) Please post the CREATE TABLE statement for that particular table. It is difficult for us to understand what “columns d,e,f, and g” are. It also matters what the Primary Key is and if there are any floating type data columns (FLOAT and DOUBLE types).

      2) You can see what SQL SQLyog sends in the HISTORY tab – if it does send. Always check here, because that is what really matters!

      3) If it does not save when you move the cursor down next row it looks like a bug. Does it save when you click the 'save' icon (the small diskette icon)?

      4) Also tell what server version you are using.

      5) And could you try 8.13 beta1 please?

    • #29232
      sqldave
      Member

      Hi, thanks for the reply —

      Apache — 2.2.8

      MySQL — 5.0.51.b

      Here are specifics:

      [codebox]DROP TABLE IF EXISTS students ;

      CREATE TABLE `students`

      (

      `last_name` CHAR(20) NOT NULL,

      `first_name` CHAR(15) NOT NULL,

      `grade` CHAR(2) NOT NULL,

      `ethnic` CHAR(1) NOT NULL,

      `sex` CHAR(1) NOT NULL

      ) ENGINE=INNODB DEFAULT CHARSET=latin1 ;

      INSERT INTO students

      ( last_name,first_name,grade,ethnic,sex )

      VALUES ( “Doe”,”John”,”12″,”B”,”M” )

      , ( “Smith”,”Bob”,””,””,”” )

      , ( “Que”,”Suzy”,””,””,”” ) ;

      SELECT *

      FROM students

      ORDER

      BY last_name

      , first_name ;

      — v 8.05: Create table 'students', etc.

      — Perform query.

      — Set “Read Only” to “students”.

      — Enter manually for Suzy: “11”,”W”,”F”.

      — Move cursor to next row.

      — Data for Suzy is SAVED.

      — v 8.12: Create table 'students', etc.

      — Perform query.

      — Set “Read Only” to “students”.

      — Enter manually for Suzy: “11”,”W”,”F”.

      — Move cursor to next row.

      — Data for Suzy is NOT SAVED. [/codebox]

    • #29233
      peterlaursen
      Participant

      Apache is completely irrelevant for SQLyog. Unless you use HTTP-tunnel of course.

      I create this table and enter data in every column from DATA tab. I move cursor to next row and SQLyog executes

      Code:
      INSERT INTO `students`(`last_name`,`first_name`,`grade`,`ethnic`,`sex`) VALUES ( 'a','b','c','d','e');

      now I “SELECT * FROM students, click the + icon in order to add a new row. Here I enter data. SQLyog executes

      Code:
      INSERT INTO `students`(`last_name`,`first_name`,`grade`,`ethnic`,`sex`)VALUES('h','i','j','k','l');

      I am moving back to DATA tab and click the 'refresh' button. Data loads and both rows are there. See attached.

      I think you are overlooking the option in program preferences ('others' tab) to 'automatically refresh DATA tab on focus'. What say?

      (Note: you can only see what data are stored on the server by sending a SELECT query to the server!)

      (BTW: your table design is bad. You should have a primary key and possible more indexes – your application will perform horribly if you don't!)

      (But also the way we format the queries (using SPACE totally randomly) is not good!)

    • #29234
      peterlaursen
      Participant

      1) you mentioned columns d,e,f, and g. But your table does not have such columns. How should we be able to reproduce or even understand exactly what you are doing?

      2) I asked you to check in HISTORY tabe what SQL SQLyog sends to the server. You did not reply to this.

      I have to request that you are more accurate and detailed when reporting issues! Explains things *step by step* in every detail so that we can reproduce it.

    • #29235
      sqldave
      Member
      peterlaursen wrote on Jun 28 2009, 11:41 AM:
      1) you mentioned columns d,e,f, and g. But your table does not have such columns. How should we be able to reproduce or even understand exactly what you are doing?

      2) I asked you to check in HISTORY tabe what SQL SQLyog sends to the server. You did not reply to this.

      I have to request that you are more accurate and detailed when reporting issues! Explains things *step by step* in every detail so that we can reproduce it.

      Thanks for your reply.

      Yes, the “Automatically refresh…” is already set as you suggested.

      Did you not receive the “codebox” that I sent? I think that illustrates the problem I'm having.

      Thank you again. I will try the 8.13 beta, also.

    • #29236
      peterlaursen
      Participant

      'codebox' is there, but I do not understand what columns d,e,f, and g are.

      The only thing that really matters is what SQL is sent to the server. Please check that in HISTORY tab. But I do not exclude the possibilty that there was a bug that we failed to document in 8.12. However you will need to describe a a reprodcuable way .. *step by step*

    • #29237
      sqldave
      Member
      peterlaursen wrote on Jun 28 2009, 12:01 PM:
      'codebox' is there, but I do not understand what columns d,e,f, and g are.

      The only thing that really matters is what SQL is sent to the server. Please check that in HISTORY tab. But I do not exclude the possibilty that there was a bug that we failed to document in 8.12. However you will need to describe a a reprodcuable way .. *step by step*

      I see what you mean. By columns d, e,…etc., I only meant any random columns on any simple MySQL table.

      The previous codebox contains an actual example. I apologize for the confusion.

      I have the history for version 8.13b and for version 8.05. Here it is.

      [codebox]Version 8.13b…

      /*[12:14:25 PM][ 422 ms]*/ DROP TABLE IF EXISTS students ;

      /*[12:14:25 PM][ 32 ms]*/ CREATE TABLE `students` ( `last_name` CHAR(20) NOT NULL, `first_name` CHAR(15) NOT NULL, `grade` CHAR(2) NOT NULL, `ethnic` CHAR(1) NOT NULL, `sex` CHAR(1) NOT NULL ) ENGINE=INNODB DEFAULT CHARSET=latin1 ;

      /*[12:14:25 PM][ 0 ms]*/ INSERT INTO students ( last_name,first_name,grade,ethnic,sex ) VALUES ( “Doe”,”John”,”12″,”B”,”M” ) , ( “Smith”,”Bob”,””,””,”” ) , ( “Que”,”Suzy”,””,””,”” ) ;

      /*[12:14:25 PM][ 0 ms]*/ SELECT * FROM students ORDER BY last_name , first_name ;

      /*[12:14:25 PM][ 0 ms]*/ — v 8.05: Create table students, etc. — Perform query. — Set “Read Only” to “students”. — Enter manually for Suzy: “11”,”W”,”F”. — Move cursor to next row. — Data for Suzy is SAVED. ;

      /*[12:14:32 PM][ 0 ms]*/ SHOW FULL FIELDS FROM `students`;

      /*[12:14:32 PM][ 0 ms]*/ SHOW KEYS FROM `students`;

      /*[12:14:48 PM][ 0 ms]*/ SELECT COUNT(*) FROM `students` WHERE `last_name`='Que' AND `first_name`='Suzy' AND `grade`='11' AND `ethnic`='W' AND `sex`='';

      /*[12:14:48 PM][ 0 ms]*/ UPDATE `students` SET `last_name`='Que',`first_name`='Suzy',`grade`='11',`ethnic`='W',`sex`='F' WHERE `last_name`='Que' AND `first_name`='Suzy' AND `grade`='11' AND `ethnic`='W' AND `sex`='';

      NOTE: NEW DATA WAS NOT SAVED using 8.13b.

      Version 8.05…

      /*[12:16:17 PM][ 0 ms]*/ SET NAMES 'utf8';

      /*[12:16:17 PM][ 0 ms]*/ SET sql_mode='';

      /*[12:16:17 PM][ 16 ms]*/ SHOW DATABASES;

      /*[12:16:26 PM][ 0 ms]*/ USE `proj_sap`;

      /*[12:16:55 PM][ 453 ms]*/ DROP TABLE IF EXISTS students ;

      /*[12:16:55 PM][ 47 ms]*/ CREATE TABLE `students` ( `last_name` CHAR(20) NOT NULL, `first_name` CHAR(15) NOT NULL, `grade` CHAR(2) NOT NULL, `ethnic` CHAR(1) NOT NULL, `sex` CHAR(1) NOT NULL ) ENGINE=INNODB DEFAULT CHARSET=latin1 ;

      /*[12:16:55 PM][ 0 ms]*/ INSERT INTO students ( last_name,first_name,grade,ethnic,sex ) VALUES ( “Doe”,”John”,”12″,”B”,”M” ) , ( “Smith”,”Bob”,””,””,”” ) , ( “Que”,”Suzy”,””,””,”” ) ;

      /*[12:16:55 PM][ 0 ms]*/ SELECT * FROM students ORDER BY last_name , first_name ;

      /*[12:17:05 PM][ 0 ms]*/ SHOW FULL FIELDS FROM `students`;

      /*[12:17:05 PM][ 0 ms]*/ SHOW KEYS FROM `students`;

      /*[12:17:12 PM][ 0 ms]*/ SELECT COUNT(*) FROM `students` WHERE `last_name`='Que' AND `first_name`='Suzy' AND `grade`='' AND `ethnic`='' AND `sex`='';

      /*[12:17:13 PM][ 422 ms]*/ UPDATE `students` SET `last_name`='Que',`first_name`='Suzy',`grade`='11',`ethnic`='W',`sex`='F' WHERE `last_name`='Que' AND `first_name`='Suzy' AND `grade`='' AND `ethnic`='' AND `sex`='';

      NOTE: NEW DATA WAS SAVED using 8.05.[/codebox]

    • #29238
      peterlaursen
      Participant

      OK .. you are UPDATING! I think you told you were INSERTING. Please use clear terms! INSERTS and UPDATES are different things!

      I got it reproduced wiht 8.13 beta

      1)

      I create the table.

      2)

      I insert values `last_name`='Que' AND `first_name`='Suzy' AND `grade`='11' AND `ethnic`='W' AND `sex`='' from data tab

      3)

      I execute “SELECT * FROM students ORDER BY last_name, first_name ;”

      4)

      From result tab I change 'sex' column from '' to 'F' SQLyog generates (correctly)

      UPDATE `students` SET `last_name`='Que',`first_name`='Suzy',`grade`='11',`ethnic`='W',`sex`='F' WHERE `last_name`='Que' AND `first_name`='Suzy' AND `grade`='11' AND `ethnic`='W' AND `sex`='';

      5)

      Again I execute the SELECT and now I change *every column* from result tab. SQLyog generates

      UPDATE `students` SET `last_name`='abc',`first_name`='def',`grade`='7',`ethnic`='c',`sex`='m' WHERE `last_name`='abc' AND `first_name`='def' AND `grade`='7' AND `ethnic`='c' AND `sex`='F';

      .. the WHERE clause is identical to the SET clause. It should not be of course – the WHERE-clause should be the old data. It is a clear bug of course (but if you had a decent table with a Primary Key it would not happen either).

      I request that you learn from this in order to be more systematic (describe *step by step*, use clear terms, use SQL where possible etc.) on how to report another time. Properly reported it would take 10 minutes to verify. But it took almost 3 hours for me.

    • #29239
      sqldave
      Member

      Sorry about wasting your time. I'm not a DBA or a MySQL professional. Just a customer. I will try to learn from this.

    • #29240
      peterlaursen
      Participant

      No problem! We will fix this as it is a clear bug in SQLyog. Likely a wrong variable assignment in a prepared statement or something like that. You had good reasons to report this and we appreciate it.

    • #29241
      navyashree.r
      Member

      Hi,

      Issue added here in our tracker and Fixed internally and available in next 8.13 beta release,

      http://code.google.com/p/sqlyog/issues/detail?id=1110

      Regards,

      Navya

    • #29242
      navyashree.r
      Member

      Issue Fixed internally and will be available in upcoming next 8.13 beta release.

      Regards,

      Navya

    • #29243
      navyashree.r
      Member

      Hi,

      This issue is fixed and available in 8.13 beta2, publicly available!

      Please refer to:

      http://www.webyog.com/blog/2009/07/15/sqly…-been-released/

      Please let us know the status.

      Thank you.

      Regards,

      Navya

Viewing 15 reply threads
  • You must be logged in to reply to this topic.