mysql中文按键_关于MYSQL外键 和中文的问题。!

MYSQL:stuinfo支持加入外键,但是stuinfo1却不可以。stuinfo1支持中文,但是stuinfo却不支持。怎么才能让stuinfo既支持外键也支持。mysql>showcreatetablestuinfo2;+----------+----...

MYSQL:stuinfo支持加入外键,但是stuinfo1却不可以。stuinfo1支持中文,但是stuinfo却不支持。怎么才能让stuinfo既支持外键也支持。

mysql> show create table stuinfo2;

+----------+--------------------------------------------------------------------

--------------------------------------------------------------------------------

---------------------------------------+

| Table | Create Table

|

+----------+--------------------------------------------------------------------

--------------------------------------------------------------------------------

---------------------------------------+

| stuinfo2 | CREATE TABLE `stuinfo2` (

`stuname` varchar(20) DEFAULT NULL,

`stusex` char(1) DEFAULT NULL,

`stuno` char(3) NOT NULL,

PRIMARY KEY (`stuno`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

+----------+--------------------------------------------------------------------

--------------------------------------------------------------------------------

---------------------------------------+

1 row in set (0.00 sec)

mysql> alter table scoreinfo add foreign key (stuno) references stuinfo2(stuno);

ERROR 1005 (HY000): Can't create table 'cq1.#sql-698_2' (errno: 150)

mysql>

mysql> alter table scoreinfo add foreign key (stuno) references stuinfo2(stuno);

ERROR 1005 (HY000): Can't create table 'cq1.#sql-698_2' (errno: 150)

mysql> show create table stuinfo;

+---------+---------------------------------------------------------------------

--------------------------------------------------------------------------------

----------------------------------------------+

| Table | Create Table

|

+---------+---------------------------------------------------------------------

--------------------------------------------------------------------------------

----------------------------------------------+

| stuinfo | CREATE TABLE `stuinfo` (

`stuname` varchar(20) NOT NULL,

`stusex` char(1) DEFAULT NULL,

`stuno` char(3) NOT NULL DEFAULT '',

PRIMARY KEY (`stuno`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+---------+---------------------------------------------------------------------

--------------------------------------------------------------------------------

----------------------------------------------+

1 row in set (0.00 sec)

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL创建外键约束的语法如下: ``` ALTER TABLE 子表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (子表外键字段) REFERENCES 父表名(父表主键字段); ``` 其中,子表名为需要添加外键约束的表名,子表外键字段为需要添加外键约束的字段名,父表名为被参照的表名,父表主键字段为被参照的表的主键字段名。 例如,如果我们需要在名为orders的表中添加一个外键约束,以确保其中的customer_id字段只能引用名为customers的表中的id字段,我们可以使用以下语句: ``` ALTER TABLE orders ADD CONSTRAINT fk_orders_customers FOREIGN KEY (customer_id) REFERENCES customers(id); ``` 在MySQL Workbench中,我们可以通过可视化的方式来设置外键约束。具体操作步骤如下: 1. 打开MySQL Workbench,并连接到相应的MySQL服务器。 2. 打开需要添加外键约束的表所在的schema,并在左侧的导航栏中选中该表。 3. 在右侧的“Columns”选项卡中,找到需要添加外键约束的字段,并选中该字段。 4. 在“Foreign Keys”选项卡中,点击“Add Foreign Key”按钮。 5. 在弹出的窗口中,设置“Referenced Table”为被参照的表名,“Referenced Column”为被参照的表的主键字段名,“Foreign Key Name”为外键约束的名称,并点击“Apply”按钮。 需要注意的是,在MySQL Workbench中设置完外键约束后,需要点击工具栏上的“Apply”按钮才能将修改保存到数据库中。 关于MySQL Workbench上的一个可能存在的bug,我需要更加具体的信息以便进行分析和解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值