String query = "CREATE TABLE IF NOT EXISTS platforms ( " +
"id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, " +
"sites_id INTEGER UNSIGNED NOT NULL, " +
"baseline BLOB NULL, " +
"platform BLOB NULL, " +
"siteinfo BLOB NULL, " +
"databases BLOB NULL, " +
"PRIMARY KEY(id), " +
"INDEX (sites_id), " +
"FOREIGN KEY (sites_id) " +
"REFERENCES sites (id) " +
"ON DELETE NO ACTION " +
"ON UPDATE NO ACTION " +
")ENGINE=InnoDB;";
这是我尝试创建的 MySQL 数据库的 SQL 查询。但是,我不知道为什么,我收到以下错误:
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'databases BLOB NULL, PRIMARY KEY(id), INDEX (sites_id), FOREIGN KEY (sites_id) R' at line 1"
有人可以指出问题是什么吗?
最佳答案
DATABASES
是 reserved word 。使用反引号 `
字符引用它:
`databases` BLOB NULL
关于mysql 外键创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825617/