我有三个表:
student_t:id name
student_course_t:student_id,course_id
course_t:id name
我想实现这样的删除:比如说student_course_t中有数据1 1,我想把它删除……也就是删除多对多关系中中间表的单条数据的sql语句……
没人帮忙????
不可以,这样我试过了……删除会提示错误……
引用 不可以,这样我试过了……删除会提示错误…… 报什么错误? 2楼的应该是对的
不好意思……弄错了……可以了……但是如何用hql语言写呢?
是不是有外键啊
引用 不好意思……弄错了……可以了……但是如何用hql语言写呢? 把表明换成类名!
就是多对多的关系,中间的表用两个表的Id做主键……
中间表哪有类名啊?这个我也知道啊……
写一个事务
先删除主键表,再删除外键表
至于hql语句,网上很多。照着写就是了
既然用到hibernate了,就直接一个对象,再在Dao里面this.getHibernateTemplate().delete(entity);不就行了。它是副表,删了没啥问题的,又不是删除course和student可能会出现违法参照完整性的事儿。
试过了网上的,很多都不行……提示错误……
本地图片不可以的啊……
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'wher
exists (select courseid from course_t c where sc.course_id = c.courseid an' at
line 1
相关问答:
场景如下: 客户把备份好的数据库,发给我,我在本机还原后,运行写好的存储过程,比较快,并且在实施那边运行同样比较快。但是当实施在客户那边运行的时候速度就非常的慢,时间超出了程序的时间限制。远程在客户那 ......
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
我已经按照教程上配置tomcat的server.xml <Context path = "/POS" docBase = "POS" debug = "5" reloadable = "true" crossContext = "true" workDir = &quo ......
想用SQL CLR做如下的存储过程,但是发现报错: {由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。} 而且如果数据从case 1通过时就是正确的,从case 2通过时错误 并且在c ......
表 id bh 1 10 2 11 3 12 4 15 5 16 6 22 7 25 8 26 9 27 10 28 将bh按连续分段出来返回字符串: 10~12,15~16,22,25~28 SQL code: declare @t tabl ......