【发布时间】:2014-09-26 11:56:14
【问题描述】:
这是我在服务器上用来创建表的 MySQL 代码...
CREATE TABLE brand_names (
id int(7) unsigned NOT NULL AUTO_INCREMENT,
brand_name varchar(255) NOT NULL,
parent_company_id int(7) NOT NULL DEFAULT '0',
last_modified_on timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEY brand_name (brand_name),
FULLTEXT KEY name (brand_name)
) ENGINE=MyISAM AUTO_INCREMENT=225 DEFAULT CHARSET=latin1
我正在尝试使用...在 Android 中复制同一张表
CREATE TABLE brand_names (
_id integer PRIMARY KEY AUTOINCREMENT,
brand_name text NOT NULL,
parent_company_id integer NOT NULL DEFAULT '0',
last_modified_on datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE SET DEFAULT
)
但是,我遇到了这个异常...
android.database.sqlite.SQLiteException: near "ON": syntax error (code 1): , while compiling: CREATE TABLE brand_names (_id integer PRIMARY KEY AUTOINCREMENT, brand_name text NOT NULL, parent_company_id integer NOT NULL DEFAULT '0', last_modified_on datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE SET DEFAULT);
所以ON 部分似乎有问题。 (注意 - 我试图用 ON 子句实现的所有目的是让它在更新行时,last_modified_on 日期时间将自动设置为当前时间。
我看过这个SQLite page,看起来我的语法是正确的,但显然有些地方有问题,所以我有点难过。谁能帮忙解决?
【问题讨论】: