【发布时间】:2021-06-13 17:58:59
【问题描述】:
我不明白为什么这不会执行:
use dbstudents;
INSERT INTO `student` VALUES
(1,'Ricky','House','rickyhouse@gmail.com'),
(2,'Leo','Graham','leograham@gmail.com'),
(3,'Spencer','Hudson','sepncerhudson@gmail.com'),
(4,'Tucker','Burke','tuckerburke@gmail.com'),
(5,'Korbin','Cruz','korbincruz@gmail.com');
完整的sql:
CREATE DATABASE IF NOT EXISTS `dbstudents`;
USE `dbstudents`;
SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `student_detail`;
CREATE TABLE `student_detail` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`city` varchar(45) DEFAULT NULL,
`phone_number` int(10) DEFAULT NULL,
`favourite_language` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`first_name` varchar(45) DEFAULT NULL,
`last_name` varchar(45) DEFAULT NULL,
`email` varchar(45) DEFAULT NULL,
`student_detail_id` int (11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FK_DETAIL_idx` (`student_detail_id`),
CONSTRAINT `FK_DETAIL` FOREIGN KEY (`student_detail_id`) REFERENCES `student_detail` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;
我只是找不到错误在哪里,尝试再次输入,但没有任何改变,有什么建议吗?我真的不知道
【问题讨论】:
-
向我们展示表定义。
-
我更新了问题
-
您已将 id 列设置为自动递增,但在插入语句中您设置了一个 id 值。尝试删除它并为学生详细信息 ID 指定
,null。或给它一个实际的ID。甚至可能只写完整的 sql 而不是简写并指定列名。insert intostudent` (- ) VALUES ()
-
所以我对一名学生的陈述将是
('Ricky','House','rickyhouse@gmail.com')
标签: mysql sql mysql-workbench