Forum Replies Created
-
AuthorPosts
-
DonnaMemberpeterlaursen wrote on Nov 30 2007, 02:57 PM:Would you expect this to work across different server versions or would the same version only be OK?
I would like this to work across versions, especially within a major release, i.e. 5.0.27 to 5.0.50.
What I'm asking for is a button saying “save create SQL to file” on each side of the synch tool, and the tool would generate the results of the “show create table (or view, procedure, etc.) for the selected items. The user would do this on each side of the tool, and could then use any diff tool to compare the two files. Is the “show create xx” so different across versions that it poses a problem?
If you didn't have to compare two db's it would also be very handy to be able to select objects from a single db and generate the “show create” results.
Thank you.
Donna
DonnaMemberadarsh wrote on Apr 5 2007, 11:32 AM:@Donna:I checked with your test case.
Both MySQL client and SQLyog return an empty result set. In case of SQLyog, it returns the column headers even for an empty result set. MySQL client does not return column headers for an empty result set.
So the “1” that you see is the column header – the resultset is empty.
I feel like a real idiot! Sorry to have wasted your time.
Donna
DonnaMemberadarsh wrote on Apr 4 2007, 08:50 AM:hi,I think what you want is to print `TRUE`(1) if there exists at least one match else `FALSE`(0)
for that you can use :
select count(*) >= 1 from test where testdata = 5;
This will return `1` if there is one or more rows that satisfies the given condition.
else if no match is found it will return `0`
If you want the number of matching rows then simply execute the following.
select count(*) from test where testdata = 5;
hope that will solve the problem.
That's not really what I wanted to do, the example was simple to demonstrate the difference between SQLyog and the MySQL client. What I want to do is something like this:
SELECT something FROM table1
WHERE EXISTS (SELECT 1 FROM table2 WHERE column1=somevalue)
DonnaMemberThe command: select `1` from test returns
Error Code : 1054
Unknown column '1' in 'field list'
(0 ms taken)
I would expect that the command: select 1 from test where testdata=200;
would return 1 if there exists at least one matching row, and an empty set when no matching rows exist. This is the behavior I see when I run that query in the MySQL client, but in SQLyog it returns 1 whether a matching row exists or not.
Donna
DonnaMemberCan I please add my request that SQLyog honor the global sql_mode settings? Our developers use SQLyog to create stored procedures. From the MySQL documentation:
“MySQL stores the sql_mode system variable setting that is in effect at the time a routine is created, and always executes the routine with this setting in force. “
In our my.cnf file we have set the sql_mode to ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE
But since SQLyog sets the sql_mode to '', the developers create these stored procs with the wrong sql_mode. I know they can set it on a session basis, but that's prone to error. Luckily, when I move changes from Development to Test I can set the sql_mode…but I'm waiting for the day that the change in sql_mode causes problems.
I'm also not clear what part of strict mode is not compatible with the GUI. Can you explain, please?
Thank you.
Donna
DonnaMemberpeterlaursen wrote on Jul 27 2006, 12:29 PM:SQLyog 5.16 RC1 has been released:http://www.webyog.com/forums//index.php?sh…amp;#entry10685
can you confirm the fix?
Yes, I can confirm that the bug is fixed. Thanks for the very quick response!
Donna
DonnaMemberpeterlaursen wrote on Jul 25 2006, 02:02 PM:Please try…Close SQLyog, delete or rename the TAGS -folder in the installation folder, start SQLyog and a new TAG -folder with SQLite .db files will be built.
Thanks, I tried that but it did not work. Some more examples:
Create procedure test ( <---typing that parenthesis closes SQLyog. Select * from testtable where id in (1,5) works fine. Donna
DonnaMemberI am seeing this same bug in SQLyog Enterprise version 5.15. With auto complete on, when I type a left parenthesis, SQLyog closes. For example:
select now( <--- as soon as I type the left parenthesis, it closes. It does not happen if I turn auto-complete off. It does not happen if I'm using a database that does not have any stored procedures. Thanks for your help. Donna
DonnaMember“… but … well … maybe I understand a little anyway. I suppose that the tables are organized in databases another way in the development environment and the production environment? That would typically be the case if you have only one database available at a webhost, but have organized the development environment into more databases. Something like that? Also in the development proces you may have created some tables or other structures that are in (unfinished) development and that you do not want to sync to the production environment yet.”
There are many reasons why it's helpful to be able to script out a single database object, including tables, views, stored procedures, etc. Your example above is one. Just today a developer asked me if I know a way to script just a couple stored procedures. She'd been working on her laptop at home and now wanted to integrate them into the development database. They include new stored procedures and modifications to existing stored procedures…and before she makes those changes I want to be able to back up the existing stored procedures just in case!
Another feature that would be very helpful is the ability to script out individual users and their associated permissions in each database.
For the record, though, we are finding SQLyog to be an excellent tool for MySQL!
Donna
DonnaMemberRitesh wrote on May 30 2006, 01:44 AM:SP are database level and thus it can access any tables, views etc. in the whole database. This is why we need a user to select all the table for exporting.If a user deselects a table and it is referenced in some SP then the import will fail as that object will not existing.
But in SQLyog I can create a stored procedure that references a table that doesn't exist. It doesn't complain until I try to call it.
There are many cases in which it's necessary to create a script for some subset of database objects. For example, when we upgrade our application we might add 10 new stored procedures. To move from the development environment to the test environment and ultimately to production, all that needs to be scripted are the 10 new procs. Is there a way to accomplish this that I'm missing? Otherwise I concur with the original poster that this would be an excellent new feature, not just for stored procs but for all db objects.
-
AuthorPosts