MySQL 数据库选项卡的前置密钥中的自动输入不起作用



这是错误:

查询错误:

#1833 - 无法更改列"id_utente":用于表 'u205688162_royalartx.effettua' 的外键约束 'effettua_ibfk_2'

这是表查询:

CREATE TABLE utente
(
nome VARCHAR(256) NOT NULL,
email VARCHAR(256) NOT NULL,
password VARCHAR(256) NOT NULL,
id_utente INT NOT NULL,
PRIMARY KEY (id_utente)
);

这是用于在Utente表中为id_utente添加自动增量的查询:

ALTER TABLE `utente` CHANGE `id_utente` `id_utente` INT(11) NOT NULL AUTO_INCREMENT;

为此,您需要首先禁用Forign密钥更改生物表,然后再次使用它,请参阅示例

CREATE TABLE utente
(
nome VARCHAR(256) NOT NULL,
email VARCHAR(256) NOT NULL,
password VARCHAR(256) NOT NULL,
id_utente INT NOT NULL,
PRIMARY KEY (id_utente)
);
CREATE TABLE effettua (effettua_id int,
FOREIGN KEY (effettua_id) REFERENCES utente(id_utente) )
ALTER TABLE `utente` CHANGE `id_utente` `id_utente` INT(11) NOT NULL AUTO_INCREMENT;
无法更改列"id_utente":用于表 'db_1029511369.effettua' 的外键约束 'effettua_ibfk_1'
SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE `utente` CHANGE `id_utente` `id_utente` INT(11) NOT NULL AUTO_INCREMENT;
ALTER TABLE `effettua` CHANGE effettua_id  effettua_id INT(11) 
SET FOREIGN_KEY_CHECKS=1;

db<>小提琴

最新更新