mysql 外键创建表

标签 mysql foreign-keys

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"

有人可以指出问题是什么吗?

最佳答案

DATABASESreserved word 。使用反引号 ` 字符引用它:

`databases` BLOB NULL

关于mysql 外键创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825617/

相关文章:

MySql InnoDB 在事务中递增并返回一个字段

mysql-server 每天 7 点删除

python - 如何查看 Django 模型在 admin 中有多少个关系?

database - 线性数据库设计

php - 使用ajax提交表单数据,无需刷新

php - 当用户在输入框中输入唯一代码时,从 mysql 数据库检索用户配置文件详细信息

mysql - WHERE 子句如何工作(互换 LHS 和 RHS)

mysql - 外键中的RESTRICT是什么意思?

sql - 基于索引名称而不是表(列)创建外键

mysql - 在将某些内容插入到外键引用的子表之前查找主键的值