2010-06-11 5 views
1

J'essaie d'insérer des données dans une table MySQL InnoDB qui est verrouillée en utilisant un alias et je ne peux pas pour la vie de moi le faire fonctionner!MySQL Insertion dans une table à alias verrouillé

Les travaux suivants:

LOCK TABLES Problems p1 WRITE, Problems p2 WRITE, Server READ; 
SELECT * FROM Problems p1; 
UNLOCK TABLES; 

Mais essayer de faire un insert et il ne fonctionne pas (il prétend qu'il ya une erreur de syntaxe autour de la « p1 » dans mon INSERT):

LOCK TABLES Problems p1 WRITE, Problems p2 WRITE, Server READ; 
INSERT INTO Problems p1 (SomeCol) VALUES(43534); 
UNLOCK TABLES; 

Aidez s'il vous plaît!

+0

Il semble que vous essayez de redéfinir l'alias dans la commande INSERT. Lorsque vous référencez une table d'alias, utilisez simplement le nom d'alias. Je ne sais pas si vous pouvez réellement utiliser un alias pour un INSERT, mais essayez ceci pour l'INSERT: 'INSERT INTO p1 (SomeCol) VALUES (43534);' –

Répondre

0

Utiliser INSERT INTO Problèmes (SomeCol) VALUES (43534);
Pas p1 ...

+0

Merci pour la suggestion, mais j'ai déjà essayé . En raison du fait que le verrou est fait avec un alias (que j'ai besoin de faire) et INSERT ne référence pas du tout l'alias, vous obtenez une erreur 'Table' Problèmes 'n'était pas verrouillé avec LOCK TABLES' – Whitey

0

juste face au même problème, malheureusement INSERT INTO table_name [AS alias] VALUES ... est pas pris en charge dans une base MySQL

2

verrouiller juste à la fois le crénelage et la table non-crénelage es: LOCK TABLES Problèmes écriture, problèmes p1 ECRITURE , Problèmes p2 WRITE, Server READ;

Questions connexes