Code: Select all
BEGIN TRANSACTION;
CREATE TABLE IF NOT EXIST abc();
SELECT( IF( ( SELECT 1 FROM information_schema.statistics WHERE index_name = 'abc_x' AND table_name = 'abc' ) > 0, SELECT 0, CREATE UNIQUE INDEX abc_x ON abc()));
Befehle nicht synchron; Sie können diesen Befehl jetzt nicht ausführen
Bedeutet das, dass ich SELECT nicht ausführen kann, bevor ich die CREATE-Anweisung festschreibe, weil die Tabelle noch nicht sichtbar ist? Oder ist da noch etwas anderes los? Ich verwende den nativen MySQL-Connector und die MySQL-Version 8.0.
Mein Code:
Code: Select all
std::vector queries;
queries.push_back( L"CREATE TABLE IF NOT EXIST abc(...);" );
queries.push_back( L"CREATE TABLE IF NOT EXIST def(...);" );
queries.push_back( L"SELECT( IF( ( SELECT 1 FROM information_schema.statistics WHERE index_name = 'abc_x' AND table_name = 'abc' ) > 0, SELECT 0, CREATE UNIQUE INDEX abc_x ON abc()));" );
Code: Select all
CREATE INDEX
Mobile version