Указанное число является недопустимой ошибкой в sql-запросе

#mysql #sql

#mysql #sql

Вопрос:

sql-запрос выдает недопустимый номер ошибки

Запрос:-

 select st.id ,st.name from student st 
inner join course co on st.COURSE_FK = co.course_id 
where(st.id="DV001" and co.course_id="1001");




Student table :-
   id(String)
   name(String)
   
  course :-
   course_id(String)
  

Комментарии:

1. что такое:param1 и:param2?

2. Вы используете именно этот код из Workbench? Это не сработает. Если это какое-либо подготовленное PHP-утверждение, пожалуйста, укажите полный PHP-код.

3. Просто предположение. st.id определяется как int?

4. Замените двойные кавычки одинарными кавычками.

5. sql-запрос выдает недопустимый номер ошибки , показывает полное и неизмененное сообщение об ошибке.

Ответ №1:

Таблица учащихся

 CREATE TABLE `student` (
  `id` varchar(255) NOT NULL,
  `name` varchar(45) DEFAULT NULL,
  `COURSE_FK` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `fk_student_1_idx` (`COURSE_FK`),
  CONSTRAINT `fk_student_1` FOREIGN KEY (`COURSE_FK`) REFERENCES `course` (`course_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  

Таблица курсов

 CREATE TABLE `course` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `course_id` varchar(45) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `course_id_UNIQUE` (`course_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
  

Данные

 INSERT INTO `test`.`course` (`id`, `name`, `course_id`) VALUES (NULL, 'C1', 'C1');
INSERT INTO `test`.`course` (`id`, `name`, `course_id`) VALUES (NULL, 'C2', 'C2');
INSERT INTO `test`.`student` (`id`, `name`, `COURSE_FK`) VALUES ('S1', 'S1', 'C1');
INSERT INTO `test`.`student` (`id`, `name`, `COURSE_FK`) VALUES ('S2', 'S2', 'C2');
INSERT INTO `test`.`student` (`id`, `name`, `COURSE_FK`) VALUES ('S3', 'S3', 'C1');
  

Запрос, как вы указали

 select st.id ,st.name from student st 
inner join course co on st.COURSE_FK = co.course_id 
where(st.id="S1" and co.course_id="C1");
  

Результат

 # id, name
'S1', 'S1'
  

введите описание изображения здесь

———————————————————————————-

Вывод: когда вы ставите запрос, эта ошибка не появляется