Оператор CREATE всегда создает ? перед именем первого атрибута отношения?

поэтому всякий раз, когда я запускаю запрос на создание, кажется, что есть скрытый '?' притаившийся откуда-то символ, он добавляется прямо перед именем первого атрибута. При попытке доступа к этому атрибуту с/без '?' я продолжаю получать сообщение об ошибке: столбец не найден в списке полей.

Я пробовал различные синтаксические сахара оператора create, один с `, один с ', с пробелом сразу после оператора create. В принципе, любая комбинация, кажется, ничего не работает. Также пробовал перезагружать сервер базы данных, не помогло.

create table IF NOT EXISTS temp(usercode varchar(20));

Подождите... SQL Server или MySQL?

The Impaler 08.04.2019 22:10

@TheImpaler MySQL, на самом деле это широко обсуждаемая ошибка. Я нашел эту ветку bugs.mysql.com/bug.php?id=1478, но эти комментарии уходят далеко назад, я думаю, что может быть решение, о котором я не знаю.

gj2110 08.04.2019 22:18

«кажется, есть скрытый '?' где-то рядом прячется персонаж" - Откуда вы знаете, что где-то есть ??!

JimmyB 08.04.2019 22:45

@JimmyB, потому что я вижу это, когда запускаю desc temp; Моих баллов недостаточно, чтобы прикрепить изображение, иначе я бы это сделал. Под столбцом поля написано «код пользователя».

gj2110 08.04.2019 23:00
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
4
36
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Так что мне удалось получить ответ самостоятельно. Когда в вашем приложении задействованы файловые операции, бывают случаи, когда к имени атрибута добавляется лишний символ '/ufeff'. Этот символ, по-видимому, не виден в стандартных редакторах кода, хотя его можно увидеть в Sublime/Notepad++. Таким образом, когда стало очевидно, что проблема именно в этом, я заменил имена столбцов в операторе создания на:

имя_столбца.replaceAll("/ufeff", "");

Это решило проблему, это, по-видимому, ошибка Microsoft Office и не имеет ничего общего с тем, как работает SQL.

Другие вопросы по теме