# TiDB Course 201 Potential Non-Standard Narratives
+ 2022-05-15 22:03:51.831708

| Risk | Suggestion | Filename:Instance |
| :-- | :-- | :-- |
|  , | __potential-issue__ | chapter-03/29.md:See the example `ANSI_QUOTES sql_mode` , and note the following behavior `select "aaa";` :,chapter-04/14.md:tidb> SELECT concat('Welcome ', 'to ', NULL), concat_ws(' ','Welcome','to' ,NULL);,chapter-04/39.md:`MIN(expression)` , `MAX(expression)`,chapter-04/39.md:`SUM([distinct] expression)` , `AVG([distinct] expression)`,chapter-04/48.md:Comparisons: `<` , `<=` ,  `=` , `!= (<>)` ,  `>` , `>=` ,  `<=>` , `IN()` ,  `IS NULL` , `LIKE` ,  `IS TRUE` , `IS FALSE` ,  `COALESCE()`,chapter-04/48.md:Control flow operations: `CASE` , `IF()` ,  `IFNULL()`,chapter-04/48.md:Logical operations: `AND (&&)` , `OR (||)` ,  `NOT (!)`,chapter-07/12.md:TiDB supports the following table_option and ignores other table_option parameters, such as AVG_ROW_LENGTH, CHECKSUM, COMPRESSION, CONNECTION, DELAY_KEY_WRITE, ENGINE, KEY_BLOCK_SIZE , MAX_ROWS, MIN_ROWS, ROW_FORMAT, and STATS_PERSISTENT `.,chapter-12/08.md:- When deleting all the data in the table, it is recommended to use TRUNCATE or RECREATE (DROP then CREATE, or DROP/TRUNCATE PARTITION in a partitioned table, or a loop with a condition DELETE where condition.. limit N way. DELETE, TRUNCATE, and DROP do not immediately free up space. For TRUNCATE and DROP operations, after the GC (garbage collection) time of TiDB is reached (the default is 10 minutes. , TiDB's GC mechanism deletes data and frees up space. The GC mechanism for the DELETE operation TiDB deletes the data, but does not release the space, but reuses the space when subsequent data is written to RocksDB and compacted.,chapter-12/12.md:Shaped like select * from user where id =? , Use placeholders instead of the values of column in a statement. This kind of statement is called Prepared Statement. When executed, it must first be precompiled, and then each execution omits the process of parsing optimization. |
| ’ | ' | chapter-09-Java/05.md:Connector/J is written in Java and implements MySQL’s client/server communication protocol directly.,chapter-09-Java/10.md:The DriverManager’s getConnection() method accepts three parameters:,chapter-09-Java/11.md:If there is no instance of connection, the program ends. If there is an instance of connection, then it attempts to call the connection object’s close() method. If that succeeds, the program reports that the connection has been closed. If it fails to close  the connection for any reason, then the program executes the code in the catch{} block, which reports the error to the user before exiting.,chapter-09-Java/11.md:To disconnect from the TiDB server, use the Connection object’s close() method.,chapter-09-Java/12.md:To execute SQL on the TiDB server using the Java API, you must first create a Statement object by calling the Connection object’s createStatement() method and storing the returned Statement object.,chapter-10-Java/12.md:Use the PreparedStatement object’s setXXX() methods to bind values to parameter markers, where XXX is the data type of the value you want to bind. For example: setString, setInt,chapter-11-Java/07.md:TiDB is generally more forgiving when supplied with invalid data than many traditional database systems. For example, if you write a negative value into an UNSIGNED column, TiDB converts it to zero, which is the nearest legal value for the column’s data type. In strict mode, the server rejects values that are out of range, have an incorrect data type, or are missing for columns that have no default value. |
