mysql - MySQL 查询将一列引用到另一个表时出错

标签 mysql sql create-table

我有如下 MySQL 查询 -

CREATE TABLE city
{
    city_id INT AUTO_INCREMENT NOT NULL,
    city_name VARCHAR(50) NOT NULL,
    state_id int(50) NOT NULL,
    PRIMARY KEY (city_id), 
    FOREIGN KEY(state_id) REFERENCES state(state_id) ON DELETE CASCADE ON UPDATE CASCADE 
}

可能会出现什么错误,因为我不是创建表 'city' 的表

表的结构很简单

第一个名为 state 的表

state_id | state_name   

另一个名为city的表

city_id city_name state_id    

因为可以很容易地看到数据库表,所以我想将对 table city state_id 的引用保留到 table state state_id

我仍然是初学者,但我认为我编写的代码应该可以工作,但事实并非如此?为什么?有什么建议吗?

最佳答案

你用错了大括号......

CREATE TABLE city ( city_id INT AUTO_INCREMENT NOT NULL, city_name VARCHAR(50) NOT NULL, state_id int(50) NOT NULL, PRIMARY KEY (city_id), FOREIGN KEY(state_id) REFERENCES state(state_id) ON DELETE CASCADE ON UPDATE CASCADE )

关于mysql - MySQL 查询将一列引用到另一个表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941435/

相关文章:

mysql - 我如何删除 mysql 数据库的许多记录中的一部分文本?

mysql - 如何通过单个查询获取记录

sql - 如何创建在 Postgres 中创建表的 IF 语句?

php - 并发请求 - Codeigniter 或 Apache 2.4 或 MySQL

python - django.db.utils.OperationalError : (2026, 'SSL connection error: SSL_CTX_set_tmp_dh failed' )

mysql - 如何根据两个不同列中的数据获取两个不同列中求和数据的最大值

php - 面向对象的 Php 数据库访问问题

带有日期计数器的sql while循环

postgresql - 使用 CREATE TABLE INHERITS 时如何继承注释

mysql - 在 PHPMyAdmin 中合并两个表