Something unusual happen with my SQLite
.
Have a table with multiple primary key :
public static final String STATEMENT_CREATE
= "CREATE TABLE " + TABLE_NAME + " (`usage_type` varchar(1) NOT NULL, `app` varchar(2) NOT NULL, `cond_type` varchar(4) NOT NULL, `access_sequence` varchar(4) NOT NULL, `access_number` int(10) NOT NULL, `cond_counter` int(10) NOT NULL, `cond_field` varchar(30) NOT NULL, PRIMARY KEY (`usage_type`,`app`,`cond_type`,`access_sequence`,`access_number`,`cond_counter`) );";
and insert statement :
public static final String STATEMENT_INSERT_OR_REPLACE
= "INSERT OR REPLACE INTO " + TABLE_NAME + "(`usage_type`, `app`, `cond_type`, `access_sequence`, `access_number`, `cond_counter`, `cond_field`) VALUES (?,?,?,?,?,?,?);";
When I'm trying to insert with Sqlite Statement :
__sqliteDatabase.beginTransactionNonExclusive();
SQLiteStatement sqliteStatement = __sqliteDatabase.compileStatement(STATEMENT_INSERT_OR_REPLACE);
int record = 0;
for(SoapObject soapObject : vector_be_m_price_keys){
sqliteStatement.bindString(1, soapObject.getPrimitivePropertyAsString(V.usage_type));
sqliteStatement.bindString(2, soapObject.getPrimitivePropertyAsString(V.app));
sqliteStatement.bindString(3, soapObject.getPrimitivePropertyAsString(V.cond_type));
sqliteStatement.bindString(4, soapObject.getPrimitivePropertyAsString(V.access_sequence));
sqliteStatement.bindString(5, soapObject.getPrimitivePropertyAsString(V.access_number));
sqliteStatement.bindString(6, soapObject.getPrimitivePropertyAsString(V.cond_counter));
sqliteStatement.bindString(7, soapObject.getPrimitivePropertyAsString(V.cond_field));
sqliteStatement.executeInsert();
sqliteStatement.clearBindings();
record += 1;
}
__sqliteDatabase.setTransactionSuccessful();
__sqliteDatabase.endTransaction();
Only 89 of 493 rows which can only stored.
Than I'm curious and try with MySQL
:
CREATE TABLE `EX_TABLE` (
`usage_type` varchar(1) NOT NULL,
`app` varchar(2) NOT NULL,
`cond_type` varchar(4) NOT NULL,
`access_sequence` varchar(4) NOT NULL,
`access_number` int(10) unsigned NOT NULL,
`cond_counter` int(10) unsigned NOT NULL,
`cond_field` varchar(30) NOT NULL,
PRIMARY KEY (`usage_type`,`app`,`cond_type`,`access_sequence`,`access_number`,`cond_counter`)
)
And running multiple query to insert 493 rows :
INSERT INTO `EX_TABLE` (`usage_type`, `app`, `cond_type`, `access_sequence`, `access_number`, `cond_counter`, `cond_field`) VALUES ('A','V','','Z001',25,2,'VTWEG'),('A','V','','Z001',25,3,'MATNR'),('A','V','','Z0.....
493 rows can be stored.
Whats wrong with my SQLite? Any ideas?
Thanks in advance. Sorry for my English.
Aucun commentaire:
Enregistrer un commentaire