-2
我試圖從Java執行MySQL事務。這在我的工作臺中有效,但是當我從Java執行它時,它給了我這個:你的SQL語法有錯誤; (用戶名,password
)values('asd','asd')附近使用正確的語法檢查對應於您的MySQL服務器版本的手冊;設置@userId = LAST」在1號線數據庫查詢在MySQL工作臺中工作,但不是當我嘗試從Java運行它們時
這是我的查詢:
public static final String CREATE_USER = "start transaction;" +
" Insert into User(username, `password`) values (?, ?);" +
" set @userId = LAST_INSERT_ID();" +
" Insert into User_Roles values (@userId, ?);" +
" commit;";
的這裏是執行這個查詢
public static boolean createUser(UserEntity user) {
try (Connection connection = DriverManager.getConnection(Constants.URL, Constants.DATABASE_USERNAME, Constants.DATABASE_PASSWORD)) {
System.out.println("Database connected!");
PreparedStatement st = connection.prepareStatement(DatabaseQuery.CREATE_USER);
st.setString(1, user.getUsername());
st.setString(2, user.getPassword());
if(user.getRole().equals("User"))
st.setInt(3, 1);
else
st.setInt(3, 2);
if (st.execute())
return true;
} catch (SQLException e) {
e.printStackTrace();
}
return false;
}
我看了看這個問題1的代碼,但我沒有空間問題。
你有五點聲明,沒有之一。 – chrylis