This is to help developers who encounter the error ERROR 1452 (23000) in MySQL resolve it.
There can be a few causes to this error. One of the reasons is the newline characters that terminate each line. There are differences between the Windows platform and the Linux-based platforms when terminating each line. Refer to this forum post for more information.
The other reason I found out personally is the existing data in the table. For example, suppose the field in the table was of type VARCHAR(20) and all rows have numeric strings in this field. Even if the field was modified to be an integer type, referencing this field to a numeric field in another table will not work because the data in the rows are character types. Therefore, before the foreign key constraint can be created, the data in the field has to be changed to integer types.