我创建了一个执行检查的触发器,并自动将数据填充到2个表中.只有发生以下错误:
IDENTITY_INSERT is already ON for table 'X'. Cannot perform SET operation for table 'Y'.
Run Code Online (Sandbox Code Playgroud)
我在研究错误时发现了这个:
"在任何时候,会话中只有一个表可以将IDENTITY_INSERT属性设置为ON."
所以修复很简单:
SET IDENTITY_INSERT Table1 ON
-- insert statements for table1
SET IDENTITY_INSERT Table1 OFF
SET IDENTITY_INSERT Table2 ON
-- insert statements for table2
SET IDENTITY_INSERT Table2 OFF
SET IDENTITY_INSERT Table3 ON
-- insert statements for table3
SET IDENTITY_INSERT Table3 OFF
Run Code Online (Sandbox Code Playgroud)
但由于通过触发器填充数据是不可能的.
有没有人能解决我的问题?
我道歉.
谢谢你们.
触发 - - -
CREATE TRIGGER Alert ON registos AFTER INSERT AS
BEGIN
DECLARE @comp decimal = 0
DECLARE …Run Code Online (Sandbox Code Playgroud) 我创建了一个每5分钟将数据写入数据库的应用程序.
但是一段时间后会出现此错误:
Error: Data source rejected establishment of connection, message from server: "Too many connections"
我一直在搜索并告诉你在每个请求方之后关闭与数据库的连接.
我试过这个:
conexao.close();
Run Code Online (Sandbox Code Playgroud)
但它给了我这个错误:
No operations allowed after conection closed.
如果问题没有得到很好的表述,我会道歉.
谢谢您的帮助
---------------------我尝试但没有奏效--------------------- ------
加
finally{
if(conexao!=null)
conexao.close();
}
Run Code Online (Sandbox Code Playgroud)
Class.forName("com.mysql.jdbc.Driver");
Connection conexao = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/bdTeste", "root", "root");
Statement stm = conexao.createStatement();
BufferedReader reader = new BufferedReader(new FileReader("C:/Users/RPR1BRG/Desktop/test.txt"));
String dados[] = new String[6];
String linha = reader.readLine();
while (linha != null) {
StringTokenizer st = new StringTokenizer(linha, ";\"");
dados[0] = st.nextToken();
dados[1] = st.nextToken();
dados[2] = …Run Code Online (Sandbox Code Playgroud) 我需要将mysql workbench中的数据库导出到.sql文件中.
该怎么办?
有人可以帮我吗?
感谢致敬