iOS*_*com 3 mysql sql database insert
例:
我想做一个INSERT来添加---> 2 | some_data2.是否有SQL命令或某种方式执行此操作?
[编辑]
好的.也许如果我解释每件事我想要完成什么,你会明白我为什么要做我想做的事情.我在php中创建一个Web管理页面,只显示数据库表中的数据.现在这些显示的行是"可拖动的".例如,您可以将第2行拖到第4行.现在在"mouseup"事件中,我想将新订单保存在数据库中.
1 | data1 -------------------------> 1 | data1
2 | data2 -------拖动后-----> 3 | data3
3 | data3 -------------------------> 4 | data4
4 | data4 -------------------------> 2 | data2
看到我的问题?我不能仅仅更新INDEX列中拖动的一个值的值.我将不得不更新拖过的所有值.3必须成为一个2,4一个3和2必须成为新的4.这是太多的SQL更新(特别是如果表更大).所以我想删除第2行并将其插入正确的位置.
只需插入数据; 桌子没有从根本上订购.当您在select语句中自己定义表结果时,会发生唯一的表结果排序.
编辑:如果您想要的是单独订购,那么您可以通过单独的"订单"列获得良好的服务.我建议将其设置为float类型,这样您就可以在其他条目之间的任何位置插入条目而无需任何更新.例如,如果条目"A"的"order"列值为"1",条目"B"的"order"列值为"2",并且您要插入条目"C",以便它显示在条目之间" "和"条目"B",只需将"order"列值设置为1.5(1 + 2/2.0)即可插入.这样,您可以在"订单"列中使用"订购依据"执行选择,事情应该按照您想要的方式进行.Floats是解决这个问题的一个相当不错的解决方案,因为'
您应该能够像常规一样添加它:
INSERT INTO some_table (index, some_data) VALUES (2, 'some_data2')
Run Code Online (Sandbox Code Playgroud)
插入后,如果您确实希望按索引排序行,请运行以下命令:
ALTER TABLE some_table ORDER BY index;
Run Code Online (Sandbox Code Playgroud)
一般来说,订单实际上并不重要.您应该在找到的列上使用索引,在获取结果集时使用ORDER BY.您不应该依赖表中行的插入顺序来进行优化或排序.
归档时间: |
|
查看次数: |
2462 次 |
最近记录: |