This does not work in mysql. On Thursday, October 21, 2010 at 5:29:45 PM UTC+5:30, aditya wrote: > > Hi, > > I am using H2 database version 1.1.18 (I cannot upgrade to latest > version). > > I am trying to drop an unnamed constraint on one of the tables using > following query > ALTER TABLE T_USER DROP CONSTRAINT ( > SELECT constraint_name FROM information_schema.constraints WHERE > table_name = 'T_USER' AND column_list = 'NAME' > ); > > But I get error saying: > > Syntax error in SQL statement ALTER TABLE T_USER DROP CONSTRAINT ([*] > SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINTS WHERE > TABLE_NAME = 'T_USER' AND COLUMN_LIST = 'NAME' > ) ; expected identifier; SQL statement: > alter table T_USER drop constraint ( > SELECT constraint_name FROM information_schema.constraints WHERE > table_name = 'T_USER' AND column_list = 'NAME' > ) [42001-75] 42001/42001 (Help) > org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement ALTER > TABLE T_USER DROP CONSTRAINT ([*] > SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.CONSTRAINTS WHERE > TABLE_NAME = 'T_USER' AND COLUMN_LIST = 'NAME' > ) ; expected identifier; SQL statement: > alter table T_USER drop constraint ( > SELECT constraint_name FROM information_schema.constraints WHERE > table_name = 'T_USER' AND column_list = 'NAME' > ) [42001-75] > at org.h2.message.Message.getSQLException(Message.java:103) > at org.h2.message.Message.getSQLException(Message.java:114) > at org.h2.message.Message.getSyntaxError(Message.java:139) > at org.h2.command.Parser.readIdentifierWithSchema(Parser.java: > 2346) > at org.h2.command.Parser.parseAlterTable(Parser.java:4142) > at org.h2.command.Parser.parseAlter(Parser.java:3681) > at org.h2.command.Parser.parsePrepared(Parser.java:307) > at org.h2.command.Parser.parse(Parser.java:290) > at org.h2.command.Parser.parse(Parser.java:262) > at org.h2.command.Parser.prepareCommand(Parser.java:234) > at org.h2.engine.Session.prepareLocal(Session.java:285) > at org.h2.server.TcpServerThread.process(TcpServerThread.java:210) > at org.h2.server.TcpServerThread.run(TcpServerThread.java:126) > at java.lang.Thread.run(Thread.java:619) > > at org.h2.engine.SessionRemote.done(SessionRemote.java:408) > at org.h2.command.CommandRemote.prepare(CommandRemote.java:68) > at org.h2.command.CommandRemote.<init>(CommandRemote.java:47) > at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java: > 341) > at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java: > 1042) > at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:151) > at org.h2.server.web.WebThread.getResult(WebThread.java:1707) > at org.h2.server.web.WebThread.query(WebThread.java:1270) > at org.h2.server.web.WebThread.process(WebThread.java:437) > at org.h2.server.web.WebThread.processRequest(WebThread.java:184) > at org.h2.server.web.WebThread.process(WebThread.java:234) > at org.h2.server.web.WebThread.run(WebThread.java:194) > > The table exists and constraint name also exist. Not sure why i am > getting this error. Could you please help?
-- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
