Также; могу ли я добавить отрицательный INT внутри столбца PRIMARY KEY внутри таблицы через JDBC?
Почему необходимо назначить хотя бы один столбец в таблице (в MySQL) в качестве PRIMARY KEY, чтобы таблица могла принимать операторы UPDATE и INSERT через JDBC?
Ответы (2)
Не должно быть никаких причин, по которым вы не можете иметь отрицательное число в поле первичного ключа, если только вы не используете беззнаковое целое число в качестве его типа данных.
Если у вас нет определенного первичного ключа (или уникального индекса, если на то пошло), сервер базы данных не может узнать, что строки уникальны. Возможность отличить одну строку от другой очень важна, когда речь идет о базах данных, и я думаю, что, возможно, разработчики MySQL, вероятно, навязывают вам это — я не знаю, так как я не так часто использую MySQL. .. Это проблема, с которой я никогда не сталкивался, если честно, потому что почти каждая таблица, которую я когда-либо создавал, имеет PK!
Почему необходимо назначать хотя бы один столбец в таблице (в MySQL) в качестве PRIMARY KEY, чтобы таблица могла принимать операторы UPDATE и INSERT через JDBC?
Это не ограничение JDBC. Это ограничение базы данных. Обратитесь к документам, относящимся к БД, для получения ответов.
Также; можно ли добавить отрицательный INT в столбец PRIMARY KEY внутри таблицы через JDBC?
Это не ограничение JDBC. Это ограничение базы данных. Обратитесь к документам, относящимся к БД, для получения ответов.
Для ясности: здесь JDBC — это всего лишь простой инструмент, дающий вам возможность выполнять язык SQL с помощью языка Java. Если вы получаете исключения пакета java.sql, то проблема больше заключается в неправильном используемом синтаксисе SQL, или в ограничении рассматриваемой базы данных, или, в редких случаях, в ошибке в драйвере JDBC, предоставленном БД, но это, конечно, не вызвано по JDBC API в целом, как вы думаете.
INSERT в консоли MySQL, он успешно добавил новую строку, несмотря на то, что в таблице нет столбца PRIMARY KEY, но при выполнении того же самого из JDBC он выдал исключение
- person Catfish; 18.12.2009