我非常确信我已经正确地格式化了它,因为它基本上是我正在使用的另一个语句的完全副本(它工作得很好),但是我收到一个错误,声明
'(', ')' <column constraint> or comma expected, got 'TEXT'
行中'TEXT‘下有一个红色下划线:
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_CONTROL_NUMBER + " TEXT NOT NULL, "
就像我说的,我基本上已经在其他地方得到了这个声明的完全相同的副本。
这是一个不起作用的方法:
String sSQL;
sSQL = "CREATE TABLE " + RecentFileWaypointContract.TABLE_NAME + " ("
+ RecentFileWaypointContract.Columns._ID + " INTEGER PRIMARY KEY NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_CONTROL_NUMBER + " TEXT NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_INSURED_NAME + " TEXT NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_CUSTOMER + " TEXT NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_ADDRESS1 + " TEXT NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_ADDRESS2 + " TEXT, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_CITY + " TEXT NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_STATE + " TEXT NOT NULL, "
+ RecentFileWaypointContract.Columns.RECENT_FILE_WAYPOINT_ZIPCODE + " TEXT NOT NULL);";
db.execSQL(sSQL);
为了进行比较,这里有一个运行良好的:
String sSQL;
sSQL = "CREATE TABLE " + UserWaypointContract.TABLE_NAME + " ("
+ UserWaypointContract.Columns._ID + " INTEGER PRIMARY KEY NOT NULL, "
+ UserWaypointContract.Columns.USER_WAYPOINT_TITLE + " TEXT NOT NULL, "
+ UserWaypointContract.Columns.USER_WAYPOINT_ADDRESS1 + " TEXT NOT NULL, "
+ UserWaypointContract.Columns.USER_WAYPOINT_ADDRESS2 + " TEXT, "
+ UserWaypointContract.Columns.USER_WAYPOINT_CITY + " TEXT NOT NULL, "
+ UserWaypointContract.Columns.USER_WAYPOINT_STATE + " TEXT NOT NULL, "
+ UserWaypointContract.Columns.USER_WAYPOINT_ZIPCODE + " TEXT NOT NULL);";
db.execSQL(sSQL);
(另外,有两个不同的类,所以在两个地方使用sSQL不是问题)
有什么想法吗?
发布于 2019-06-05 00:27:33
列名中不能包含空格。将"Control number"
替换为"Control_number"
、"ControlNumber"
、"controlNumber"
或类似的内容。
https://stackoverflow.com/questions/56447728
复制相似问题