Simon, Others, Thanks. Indeed the problem was the storage engine of the table. Thanks for that hint!
I wonder however, is this problem to work with InnoDB specific to this raw execute interface of sqlalchemy? I have never come across the problem when using sqlalchemy as an ORM. Brgds, Rogier On Monday, 25 July 2016 13:15:11 UTC+2, Simon King wrote: > > ...and the reason that it works on the older tables is probably that > they use the MyISAM engine rather than InnoDB. > > On Mon, Jul 25, 2016 at 12:05 PM, Mehdi gmira <mgm...@wiremind.fr > <javascript:>> wrote: > > Maybe you forgot to commit ? > > > > > > Le lundi 25 juillet 2016 12:08:17 UTC+2, Rogier Eggers a écrit : > >> > >> Hello, > >> > >> I have an old script that I'm upgrading. It uses sqlalchemy connect and > >> then execute statements to send raw sql as strings to the database > (mysql). > >> The problem that I'm having is that an insert statement that I issue in > this > >> way is seemingly handled by sqlalchemy without problems (I don't get > any > >> error from sqlalchemy) and I can also get a new LAST_INSERT_ID(). > However, > >> the respective record does not appear in the database. If I issue the > exact > >> same string as a command in the mysql client directly, the record is > created > >> without problems. > >> > >> The odd thing is that it happens only on a newly created table. I did > feed > >> some initial data through the mysql client. Identical commands on > existing > >> other tables work without problem. > >> > >> My question is: what could possibly be the reason and how could I debug > >> this to find the cause? > >> > >> The simplified code: > >> db = MySQLdb.connect(host="localhost", user="username", > passwd="password", > >> db=dbName) > >> cursor = db.cursor() > >> cursors.execute('INSERT INTO clients SET Name="Client1";') > >> > >> The sql structure of the problematic table is as follows: > >> CREATE TABLE IF NOT EXISTS `clients` ( > >> `id` int(11) NOT NULL, > >> `Name` text CHARACTER SET latin1 COLLATE latin1_general_ci > >> ) ENGINE=InnoDB DEFAULT CHARSET=latin1; > >> ALTER TABLE `clients` > >> ADD PRIMARY KEY (`id`); > >> ALTER TABLE `clients` > >> MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; > >> > > -- > > You received this message because you are subscribed to the Google > Groups > > "sqlalchemy" group. > > To unsubscribe from this group and stop receiving emails from it, send > an > > email to sqlalchemy+...@googlegroups.com <javascript:>. > > To post to this group, send email to sqlal...@googlegroups.com > <javascript:>. > > Visit this group at https://groups.google.com/group/sqlalchemy. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.