To add an entry to EE, you need to enter data in a minimum of two places: an entry in exp_channel_titles
and a matching one (by entry_id
) in exp_channel_data
.
The entry_id
field is not auto-incremented, and so you're best to enter the data in a transaction, in case the (very rare) circumstance happens where the control panel is used to add an entry just as you're importing the data. Or, you can write a big batch of queries and just start it at an entry_id
you know isn't taken already.
There are, of course, circumstances where you have to add data more places: if it's a new author, if your data uses categories, if it uses matrix data (a common third-part add-on), if it has comments...
Each field stores its data in the exp_channel_data
column called field_id_##
, and the matching field_ft_##
column is used to describe how that content should be OUTPUT later by EE. (i.e. field_ft
is not a description of how the data is being stored, just of how it should be displayed. Data is usually stored as unformatted as possible.)
Each field has a default format, but every instance (entry) of data for any field can be set within EE to output its content in a variety of ways, so that's why that's there.
It's true, you don't need to use the third-party add-ons suggested here for simple data import needs. But the moment your data gets more complicated, they do a wonderful job of navigating that complexity and resolving data conflicts. Datagrab tends to be updated more often.