如何在mysql中插入唯一值

时间:2016-02-26 10:27:55

标签: php mysql

我正在尝试将数据从cvs文件上传到mysql。我想过滤列roll的重复值。 例如。

Table1 
-----------
 id  name    roll
 1  Nirdos    4  
 2  krishn    2 
 3  shrest    2 

如果数据是这样的,我想插入前两行,因为第三行有第二行的重复行。

事先提前

2 个答案:

答案 0 :(得分:0)

您可以使用以下 apps.setChoiceMode(apps.CHOICE_MODE_MULTIPLE_MODAL); apps.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() { @Override public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) { if (apps.isItemChecked(position)) { Adapter.getItem(position); Toast.makeText(getApplicationContext(), "CHECKED", Toast.LENGTH_LONG).show(); count = count + 1; mode.setTitle(count + "items selected"); list_apps.add(Adapter.filteredData.get(position).packageName); list_apps.trimToSize(); } else { Toast.makeText(getApplicationContext(), "UNCHECKED" , Toast.LENGTH_LONG).show(); count--; mode.setTitle(count + "items selected"); list_apps.remove(Adapter.filteredData.get(position).packageName); list_apps.trimToSize(); } 语句执行插入:

    apps.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                                    long arg3) {
/*
                for (int i = 0; i < packageList.size(); i++) {
                    TextView txtview = ((TextView) arg1.findViewById(R.id.textView1));

                    product = txtview.getText().toString();

                    list_apps.add(Adapter.filteredData.get(arg2).packageName);



                    //Toast.makeText(MainActivity.this, product,
                    //      Toast.LENGTH_SHORT).show();
                    //for
                }
                */
                String selection;
                selection = Adapter.filteredData.get(arg2).packageName;

                 string = (String) Adapter.getItem(arg2);

                //list_apps.trimToSize();
                Toast.makeText(MainActivity.this, selection,
                        Toast.LENGTH_SHORT).show(); 

                                                         I am using activated_state for the item selected on filtering and maintaining that selection.

如果值INSERT INTO ... SELECT重复,此查询将插入具有最小INSERT INTO targetTable (id, name, roll) SELECT t1.id, t1.name, t1.roll FROM sourceTable AS t1 JOIN (SELECT roll, MIN(id) AS min_id FROM sourceTable GROUP BY roll) AS t2 ON t1.roll = t2.roll AND t1.id = t2.min_id 值的记录。

答案 1 :(得分:0)

MySQL数据库提供了一个工具,您可以在其中使滚动列唯一,并且数据库本身不会为该特定列获取重复输入。

第二种方法是在输入新行之前检查重复的条目,并将数据与您要输入的数据相匹配