@@ -2587,7 +2587,7 @@ public String getSetString(RequestMethod method, Map<String, Object> content, bo
25872587 if (setString .isEmpty ()) {
25882588 throw new IllegalArgumentException ("PUT 请求必须在Table内设置要修改的 key:value !" );
25892589 }
2590- return " SET " + setString ;
2590+ return ( isClickHouse ()? " " : " SET ") + setString ;
25912591 }
25922592
25932593 /**SET key = concat(key, 'value')
@@ -2665,9 +2665,15 @@ public static String getSQL(AbstractSQLConfig config) throws Exception {
26652665 case POST :
26662666 return "INSERT INTO " + tablePath + config .getColumnString () + " VALUES" + config .getValuesString ();
26672667 case PUT :
2668- return "UPDATE " + tablePath + config .getSetString () + config .getWhereString (true ) + (config .isMySQL ()||config .isClickHouse () ? config .getLimitString () : "" );
2668+ if (config .isClickHouse ()){
2669+ return "ALTER TABLE " + tablePath + " UPDATE" + config .getSetString ()+ config .getWhereString (true );
2670+ }
2671+ return "UPDATE " + tablePath + config .getSetString () + config .getWhereString (true ) + (config .isMySQL () ? config .getLimitString () : "" );
26692672 case DELETE :
2670- return "DELETE FROM " + tablePath + config .getWhereString (true ) + (config .isMySQL ()||config .isClickHouse () ? config .getLimitString () : "" ); // PostgreSQL 不允许 LIMIT
2673+ if (config .isClickHouse ()){
2674+ return "ALTER TABLE " + tablePath + " DELETE" + config .getWhereString (true );
2675+ }
2676+ return "DELETE FROM " + tablePath + config .getWhereString (true ) + (config .isMySQL () ? config .getLimitString () : "" ); // PostgreSQL 不允许 LIMIT
26712677 default :
26722678 String explain = (config .isExplain () ? (config .isSQLServer () || config .isOracle () ? "SET STATISTICS PROFILE ON " : "EXPLAIN " ) : "" );
26732679 if (config .isTest () && RequestMethod .isGetMethod (config .getMethod (), true )) {
@@ -2679,7 +2685,7 @@ public static String getSQL(AbstractSQLConfig config) throws Exception {
26792685 String column = config .getColumnString ();
26802686 if (config .isOracle ()) {
26812687 //When config's database is oracle,Using subquery since Oracle12 below does not support OFFSET FETCH paging syntax.
2682- return explain + "SELECT * FROM (SELECT" + (config .getCache () == JSONRequest .CACHE_RAM ? "SQL_NO_CACHE " : "" ) + column + " FROM " + getConditionString (column , tablePath , config ) + ") " + config .getLimitString ();
2688+ return explain + "SELECT * FROM (SELECT " + (config .getCache () == JSONRequest .CACHE_RAM ? "SQL_NO_CACHE " : "" ) + column + " FROM " + getConditionString (column , tablePath , config ) + ") " + config .getLimitString ();
26832689 }
26842690
26852691 return explain + "SELECT " + (config .getCache () == JSONRequest .CACHE_RAM ? "SQL_NO_CACHE " : "" ) + column + " FROM " + getConditionString (column , tablePath , config ) + config .getLimitString ();
0 commit comments