我有一個數據庫與產品名稱,產品價格和產品計數器。 產品名稱是獨一無二的,每次輸入新的價值時都會替換產品價格,問題在於產品櫃檯。 其默認值爲1
,當輸入新產品時,其值設置爲1.每當產品名稱發生衝突時,我需要增加它。因此,如果輸入Cheese
兩次,則計數器將會說2
依此類推。 我需要做的是當發生衝突時,給它的值加1。我想這樣做,因爲我稍後需要這個。我需要在我的應用程序中計劃實現的其他一些東西上將輸入值添加到表值中。sqlite如何增加衝突的價值
我該如何做到這一點?我想繼續按照我現在這樣做,用contentvalues
方法插入,而不是用sqlite語法(INSERT,SELECT,etc
)。這是甚至可能的嗎?因爲我在sqlite的syntax.And是一個絕對的0也,我需要它有,我可以在其他活動調用一個方法來插入到數據庫(如insertCountry(Japan,10)
)
public class SQLiteCountryAssistant extends SQLiteOpenHelper {
private static final String DB_NAME = "usingsqlite.db";
private static final int DB_VERSION_NUMBER = 1;
private static final String DB_TABLE_NAME = "countries";
private static final String DB_COLUMN_1_NAME = "country_name";
private static final String DB_COLUMN_2_NAME = "country_price";
private static final String DB_COLUMN_3_NAME = "country_counter";
private static final String DB_CREATE_SCRIPT = "create table "
+ DB_TABLE_NAME
+ " (_id integer primary key autoincrement, country_name text UNIQUE ON CONFLICT REPLACE,country_price text,country_counter integer default '1');)";
而且我這是怎麼插入:
public void insertCountry(String countryName, String countryPrice) {
sqliteDBInstance.execSQL("INSERT INTO " + DB_TABLE_NAME
+ "(country_name, country_price) VALUES('" + countryName
+ "', '" + countryPrice + "')");
}
我不明白你想達到什麼(這是一個購物車或其他東西?)。順便說一句,如果我以3歐元的價格插入3次奶酪,數據庫中的結果將是:奶酪9(價格)3(櫃檯)?如果我錯了,請修改您的問題並使其更具可讀性。 – JJ86
是的,它就像購物車一樣。數據庫需要保存產品名稱(對於自動填充字段),該產品使用的最後價格(對於自動填充字段也是如此)以及計數器以知道多少次一個產品名稱已被使用。因此,如果您插入奶酪3次,價格將是3,櫃檯也將是3.我也修改了我插入數據的方式,編輯即將到來。如果您需要更多信息,請告訴我 –
我已經編輯了我的答案,看看。 – JJ86