INSERT Statement 2634 •Setting a numeric column to a value that lies outside the column range. The value is clipped to the closest endpoint of the range. •Assigning a value such as  ’10.34 a’  to a numeric column. The trailing nonnumeric text is stripped off and the remaining numeric part is inserted. If the string value has no leading numeric part, the column is set to  0 . •Inserting a string into a string column ( CHAR ,  VARCHAR ,  TEXT , or  BLOB ) that exceeds the column maximum length. The value is truncated to the column maximum length. •Inserting a value into a date or time column that is illegal for the data type. The column is set to the appropriate zero value for the type. •For  INSERT  examples involving  AUTO_INCREMENT  column values, see Section 3.6.9, “Using AUTO_INCREMENT” . If  INSERT  inserts a row into a table that has an  AUTO_INCREMENT  column, you can find the value used for that column by using the  LAST_INSERT_ID()  SQL function or the  mysql_insert_id() C API function. These two functions do not always behave identically. The behavior of  INSERT statements with respect to  AUTO_INCREMENT  columns is discussed further in Section 12.16, “Information Functions” , and mysql_insert_id(). The  INSERT  statement supports the following modifiers: Note LOW_PRIORITY  affects only storage engines that use only table-level locking (such as  MyISAM , MEMORY , and  MERGE ). LOW_PRIORITY  should normally not be used with  MyISAM  tables because doing so disables concurrent inserts. See Section 8.11.3, “Concurrent Inserts” . Note HIGH_PRIORITY  affects only storage engines that use only table-level locking (such as  MyISAM , MEMORY , and  MERGE ). IGNORE  has a similar effect on inserts into partitioned tables where no partition matching a given value is found. Without  IGNORE , such  INSERT  statements are aborted with an error. When  INSERT IGNORE is used, the insert operation fails silently for rows containing the unmatched value, but inserts rows that are matched. For an example, see Section 24.2.2, “LIST Partitioning” . •If you use the  IGNORE  modifier, ignorable errors that occur while executing the  INSERT  statement are ignored. For example, without  IGNORE , a row that duplicates an existing  UNIQUE  index or  PRIMARY KEY  value in the table causes a duplicate-key error and the statement is aborted. With  IGNORE , the row is discarded and no error occurs. Ignored errors generate warnings instead. •If you specify  HIGH_PRIORITY , it overrides the effect of the  --low-priority-updates  option if the server was started with that option. It also causes concurrent inserts not to be used. See Section 8.11.3, “Concurrent Inserts” . •If you use the  LOW_PRIORITY  modifier, execution of the  INSERT  is delayed until no other clients are reading from the table. This includes other clients that began reading while existing clients are reading, and while the  INSERT LOW_PRIORITY  statement is waiting. It is possible, therefore, for a client that issues an  INSERT LOW_PRIORITY  statement to wait for a very long time.