http://dev.mysql.com/doc/refman/4.1/en/odbc-and-last-insert-id.html
Jag tror inte att du kan exekvera två sql-frågor i samma anrop, prova att köra frågorna separat.
7 svar · 472 visningar · startad av P
Får det inte att fungera! Har en enkel tabell:
CREATE TABLE `user` (
`UserID` int(10) unsigned NOT NULL auto_increment,
`UserName` varchar(45) NOT NULL default '',
`Password` varchar(45) NOT NULL default '',
PRIMARY KEY (`UserID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
Insert/select sats:
INSERT INTO user VALUES(null,"Namn","lösen"); SELECT @@identity;
Om jag kör koden i "Navicat mysql gui" så får jag ut resultatet. Kör jag däremot "mysql query browser" så får jag bara '0'.
Sitter och kodar i .net och där får kommer jag inte ens så långt utan får felet:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; SELECT @@IDENTITY' at line 1"
Något tips?
http://dev.mysql.com/doc/refman/4.1/en/odbc-and-last-insert-id.html
Jag tror inte att du kan exekvera två sql-frågor i samma anrop, prova att köra frågorna separat.
@nders skrev:
http://dev.mysql.com/doc/refman/4.1/en/odbc-and-last-insert-id.html
Jag tror inte att du kan exekvera två sql-frågor i samma anrop, prova att köra frågorna separat.
Kan nog stämma, problemet kvarstår dock. Det blir alltid 0. Hmm...
Ok, hur ser din kod ut nu?
Den är några sidor men tror att det löste sig. Läste någonstans om att man var tvungen att utföra de båda frågorna under samma anslutning. Det verkar fungera. Tidigare stängde jag anslutningen mellan de två frågorna :)
Kör du med mySql 5 så kan du göra en stored procedure som gör det där i ett svep.
Jo kör med 5:an men vill ha det som vanligt ändå, tack för tipset!