A strange phenomenon was discovered recently when dealing with the development of SharePoint Office365:
Editor field cannot be updated via API, as long as the update will throw Exception, because it is Office365 Exception, cannot analyze the cause of the problem from Exception alone, And the strange thing is that the newly created list also has the same problem.
Tried for a long while did not find a solution, only to see the field of Schemaxml also found nothing more special places.
Helpless under Save a list template, uploaded to the local SharePoint 2013 environment, through the list template to create a new list, found that the list also has the same problem, There's nothing wrong with exception, but now that we're here, we can look at SharePoint log, and sure enough, a suspicious error was found in SharePoint log:
System.Data.SqlClient.SqlException (0x80131904): Parameter ' @tp_Editor ' was supplied multiple times.
After a long search on the internet, we finally found a more reliable answer:
Http://help.share-gate.com/article/663-problem-with-the-sharepoint-database
Further research finds that the problem arises because the BUILTIN field has been modified by us, resulting in version, resulting in a tp_editor conflict with the SQL Update field of the default Builtin column at update. Cause this problem.
For SharePoint 2013来, the better solution is not to modify the schemaxml of the Builtin column, as the link says, but rather to change the field to revert back to its original state, calling the following method:
Spfield.revertcustomizations ()
The field revert back, so look at field Schemaxml will find Yan Lai XML version attribute there is no
SharePoint "System.Data.SqlClient.SqlException (0x80131904): Parameter ' @someColumn ' was supplied multiple times."