执行 sql 语法的正确语法是啥?
Posted
技术标签:
【中文标题】执行 sql 语法的正确语法是啥?【英文标题】:what is Correct syntax for executing sql syntax?执行 sql 语法的正确语法是什么? 【发布时间】:2015-05-28 06:31:02 【问题描述】:String ag ="ALTER TABLE QUESTION"+
"(ADD FOREIGN KEY (a_status) REFERENCES ANSWER(a_status))";
stmt.executeUpdate(ag);
错误信息: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在 'FOREIGN KEY 附近使用正确的语法 (a_status) REFERENCES ANSWER(a_status))' 在第 1 行
【问题讨论】:
Add Foreign Key to existing table的可能重复 【参考方案1】:这应该是正确的。见offical documentation:
String ag ="ALTER TABLE QUESTION ADD FOREIGN KEY (a_status) REFERENCES ANSWER(a_status)";
【讨论】:
【参考方案2】:String ag ="ALTER TABLE QUESTION ADD CONSTRAINT (question_answer_fk1) FOREIGN KEY (a_status) REFERENCES ANSWER(a_status)";
您还可以添加更多特定条件:
ON DELETE SET NULL/CASCADE ON UPDATE SET NULL【讨论】:
【参考方案3】:String ag ="ALTER TABLE QUESTION ADD CONSTRAINT (question_answer_ibfk1) FOREIGN KEY (a_status) REFERENCES ANSWER(a_status)";
一般
ALTER TABLE Child_tblName
ADD CONSTRAINT 'give any name to the foreign key generally I do Child_tblName_Parent_tblName_ibfk_number' FOREIGN KEY ('Child_tblName's Column') REFERENCES Parent_tblName('Parent_tblName's Column')
【讨论】:
谢谢您先生 @Ole Albers! 添加良好的 CodeBlock 视图以提高可读性,我是 *** 的新手,所以学习这些版本的东西。以上是关于执行 sql 语法的正确语法是啥?的主要内容,如果未能解决你的问题,请参考以下文章