views:

108

answers:

3

Hi All,

I'm in the process of migrating a MySQL database from Debian to windows vista (localhost using Apache - installed and running via EasyPHP).

The database is essentially a carbon copy, every entry is the same, however when I try to access the database, I get some strange errors (for example, in some cases the first few entries in a table are not recognized by the program accessing the database).

Since the database and the code in both cases is the same (I'm using a Java swing application to access the database) I've concluded that the issue might have something to do with the different OS environments.

What other differences between the two respective OS' could contribute to these problems (or even during the copy process of the databases, which I did through the 'data transfer' function in NaviCat)?

Lastly one ting I had to change in the Java code was a query which entered a new entry into a table, the primary key was set to 'auto increment' and basically in the query the java application sent it had NULL for the primary key and MySQL took care of the incrementation, in the Vista hosted database i was getting an error from that about it being invalid syntax, so I changed the NULL to '0', would this have anything to do with my problems?

Thanks for any help!

+2  A: 

You may want to look at the database character encoding to make sure they match.

SCdF
A: 

The point about matching databases character encoding is well taken. Note also, by default, Windows installations use InnoDB tables while Ubuntu installations use MyISAM tables. There is a variety of issues that may arise if you try to switch from one to the other, including performance and design issues.

Glenn
A: 

Table names (using MyISAM at least) on windows are case-insensitive whereas it's case-sensitive on Unix/Linux

nickf